struts.xml中相关配置如下:
<action name="upload" class="com.sanqing.action.UploadExcel">
<result name="success" type="redirectAction">
<param name="actionName">readExcel</param>
<param name="uploadFileName">${uploadFileName}</param>
</result>
uploadExcel 向 readExcel中传递uploadFileName属性值(readExcelAction中自动调用readExcel中setUploadFileName()方法为uploadFileName属性赋值)
在readExcel Action中得到uploadFileName中的中文部分会变成乱码
解决方法如下:
对于得到的uploadFileName重新进行编码
将readExcel中setUploadFileName()方法改成下面这样:
public void setUploadFileName(String uploadFileName) {
String str="";
try{
str = new String(uploadFileName.getBytes("ISO-8859-1"),"gb2312");
}catch(Exception e){
e.printStackTrace();
}
this.uploadFileName = str;
}