关于struts2.1.6接收中文请求参数乱码问题

struts2.1.6版本存在一个Bug,即接收到的中文请求参数为乱码(以post方式提交),缘由是struts2.1.6在获取并使用了请求参数 后才调用HttpServletRequst的setCharacterEncoding()方法进行编码设置,致使应用使用的就是乱码请求参数。这个 bug在struts2.1.8中已经被解决,若是你使用的事struts2.1.6,要解决这个问题,你能够这样作:新建一个Filter,把这个 Filter放置在Struts2的Filter以前,而后再doFilte(()方法里添加如下代码post

public void doFilter(...)编码

{class

 HttpServletRequst req = (HttpServletRequst)request;struts2

 req setCharacterEncoding("UTF-8");//应根据你使用的编码替换UTF-8乱码

 filterchain.doFilter(tequest,response);coding

}request

相关文章
相关标签/搜索