几种struts乱码的处理方法

使用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的东西捡起来学习一下,到时候会出些学习文档,尽请期待。

你可能感兴趣的:(几种struts乱码的处理方法)