做个SSH2的小model, SSH2框架搭完成了,跑起来没问题,拿用户类User做最简单的增删改查操作,除了乱码问题,也跑起来了、  本来觉得乱码问题、小case啊~~~ 可是搞了半天了、没成功。。   创建新用户:
   就是在JSP页面添写用户信息,然后提交到 UserAction ,在UserAction中拿到的数据是乱码、 疯了都。   1.JSP页面都写了<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=utf-8" %>
   
   2.试过在UserAction 的方法内,设置编码ServletActionContext.getRequest().setCharacterEncoding("utf-8");
ServletActionContext.getResponse().setCharacterEncoding("utf-8");
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
   3.sturts.properties中加入struts.locale=zh_CN
struts.il8n.encoding=UTF-8
   4.在web.xml中配置ActionContextCleanUp类过滤器
   5.在tomcat6.0的service.xml中端口后加 URIEncoding="UTF-8"
    杯具不?同志们 上边方法都是过了。就是不行啊不行、我快疯了、我正的受不了了今儿睡都睡不安稳了。。等待真相。。    求铝求美求合体,坐等真相哥。。那啥,真相姐也行。。   

解决方案 »

  1.   

    struts2是哪个版本?如果是struts2.1.6的话,请更换版本,那是个Bug。
      

  2.   

    在web.xml中配置一个编码过滤器就ok了,可以使用spring的CharacterEncodingFilter,也可以参照其内容自己写一个,编码过滤器在项目中很重要
      

  3.   

    谢谢(Crystal)  我去试下CharacterEncodingFilter。。另外回复4楼(かまいません。) ····你真神了、 我杯具的就是2.1.6 strtuts···有bug么?????真不知道啊···
      

  4.   

    查看你项目本身的编码是不是UTF-8.项目内有没有导入了其他未定义编码的文件。
      

  5.   

    统一编码格式UTF-8,配置字符集过滤器。如果是遇到URL通过get方法传递中文参数乱码,就必须转换字符编码。
      

  6.   

    O了  O了、··············同志们、噢要结贴了、丫的做那么多设置都不如web.xml中使用FilterDispatcher....................... 另外果然struts2.1.6有bug 使用post方式提交中文会乱码·············吼吼、心情好啊。搞定了
      

  7.   

    我终于知道是个B~~~~~~~~~~~~~~~~~~U~~~~~~~~~~~~~~~G,找了一个上午、