看了几篇关于STRUTS中文问题,好多个解决方法都是绕到FLITER上去了。。
我用的1.0的STRUTS,所以只好想别的办法。
我的理解是中文编码只是一个字符编码转换的问题,实际上要传递的信息是没变的。只是在JSP到SERVLET或到数据库中提交时转为另一种编码(iso-8859-1)提交了,所以在提交完后再读把编码转换回来就行了。下面是具体方法。
JSP页面中是
<%@ page contentType="text/html; charset=gb2312" %>
在ActionForm Bean 中
setAttribute存储时加上编码转换
attribute = deCode(attribute);
public String deCode(String iso){
String gb=null;
if (iso != null) {
try {
gb=new String(iso.getBytes("ISO-8859-1"),"gb2312");
} catch (Exception e) {
gb=null;
}
}
return gb;
}
则可以显示中文了。。。。
事情好象比想象中的简单,呵呵,不过这个我也没彻底明白,不对之处请指点。
本文地址:http://com.8s8s.com/it/it14336.htm