您的位置:首页 > 编程语言 > Java开发

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

2012-05-30 16:24 483 查看
struts2.1.6版本中存在一个Bug,即接收到的中文请求参数为乱码(以post方式提交),原因是struts2.1.6在获取并使用了请求参数后才调用HttpServletRequest的setCharacterEncoding()方法进行编码设置
,导致应用使用的就是乱码请求参数。这个bug在struts2.1.8中已经被解决,如果你使用的是struts2.1.6,要解决这个问题,你可以这样做:新建一个Filter,把这个Filter放置在Struts2的Filter之前,然后在doFilter()方法里添加以下代码

public void doFilter(...){

HttpServletRequestreq = (HttpServletRequest)request;

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

filterchain.doFilter(request,response);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: