关于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(()方法里添加以下代码

public void doFilter(...)

{

 HttpServletRequst req = (HttpServletRequst)request;

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

 filterchain.doFilter(tequest,response);

}

你可能感兴趣的:(关于struts2.1.6接收中文请求参数乱码问题)