使用struts的时候如果出现乱码可以参考下一下几种解决方案
1 字符乱码
String ss=new String(str.getBytes("ISO-8859-1"),"GBK");
2 页面乱码
把pageencoding改成UTF-8(jsp的默认编码为ISO-8859-1)
3 传参数乱码(POST和GET方法)
步骤一:修改server.xml 大概在50行左右,在Connector标签中加入 URIEncoding="UTF-8"
步骤二:编写过滤器类characterEncodingFilter实现ServletFilter接口,
在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中
request.setcharacterEncoding("utf-8");
chain.doFilter(request,response);
步骤三:在web-xml中加入代码
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>com.casa2.struts.characterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
4 国际化参数乱码
方法一:native2ascii -encoding gbk ApplicationResources_zh_CN.Properties temp.properties
方法二:Eclipse ResourceBundle Editor插件
5 服务器配置
在..\Tomcat 5.0\conf目录里找到SERVER.XML文件,用写字板打开它,设置如下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
里面增加一个属性就可以了,URIEncoding="GBK"
参考文档:
http://fang007.iteye.com/blog/307789
总结一下,struts其实现在日常中已经不常用了,其中的乱码问题一般其他框架也会出现,记录下备忘。
后面会慢慢把hibernate的东西捡起来学习一下,到时候会出些学习文档,尽请期待。