用Struts2做文件下载时,中文文件名会乱码,经网上搜索,得解决方案见下:
在struts.xml中配置action的返回情况时,contentType加属性charset=ISO8859-1,如下:
<action name="result_*" class="resultAction" method="{1}">
<result name="resultTable" type="stream">
<param name="inputName">inputStream</param>
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="contentDisposition">filename=${name}</param>
</result>
</action>
action中文件名:
try {
name = new String(name.getBytes(),"ISO8859-1");
System.out.println(name);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
如此,下载时的文件名,中文便不会乱码了。
参考博文: