看了几篇关于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; }
则可以显示中文了。。。。 事情好象比想象中的简单,呵呵,不过这个我也没彻底明白,不对之处请指点。 
|