// 文件上传:
jsp中:
<form method="post" enctype="multipart/form-data" ...>
<input type="file" name="upload">
...
</form>
Action中:
private File upload; // 上传的文件(在临时文件夹中)
private String fileName; // 上传文件的文件名
private String contentType; // 上传的文件的文件类型
// getter, setter 略
======================================================
// 服务器端的文件存储方案:
方案一:存到数据库中(BLOB)。
方案二:存到服务器的某文件夹中(推荐)。
需要String型的path(相对于服务器的一个相对路径)。
问题:
文件重名:使用UUID做为文件名,如果需要原始的文件名,则可以存到数据库中(用一个列)。
文件过多:
======================================================
EL表达式 服务器庙
js 浏览器
showMessage( ${msg} );
showMessage( "${msg}" );
AJAX
JS动态显示页面(URL)
======================================================
<form method="默认为get" ...>
<s:form method="默认为post">
======================================================
表单采用Post方式提交,解决乱码的方法为:
request.setCharacterEncoding( myEncoding );
表单采用Get方式提交,解决乱码的方法为:
方式一:
key = new String(key.getBytes("iso8859-1"), "utf-8");
方式二:
修改server.xml: URIEncoding="utf-8"
方式三(不依赖Tomcat的配置,推荐):
浏览器中两次URL编码。
服务器中自己再做一次URL解码。
<s:a action="processDefinitionAction_delete" onclick="return delConfirm()">
<s:param name="key" value="%{@java.net.URLEncoder@encode(key, 'utf-8')}"></s:param>
删除
</s:a>
%{@java.net.URLEncoder@encode(key, 'utf-8')}
iso8859-1
utf-8 E4 B8 AD
gbk/gb2312 D6 D0