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