struts2.1.6中文乱码bug

来源:互联网 发布:淘宝美国直邮是真的吗 编辑:程序博客网 时间:2024/06/10 20:13

struts2.1.6版本存在一个bug,即接收到的中午请求参数为乱码(以post方式提交),原因是struts2.1.6在获取并使用了请求参数后才调用HttpServletRequest的setCharacterEncoding()方法进行编码设置,导致应用使用的就是乱码参数。此bug在struts2.1.8中得以改正。

所以如果使用的jar包是struts2.1.6需要编写一个编码过滤器,此Filter需要配置在struts2的Filter之前。

 

public void doFilter(...){    HttpServletRequest req = (HttpServletRequest)request;    req.setCharacterEncoding("utf-8"); //应根据你使用的编码替换utf-8    filterchain.doFilter(request,response);}