将form表单里面的值提交到struts2 ,可是接收到过来的是乱码,怎么解决,在struts.xml配置
<constant name="struts.il8n.encoding" value="gbk"></constant> 不起作用,
在web.xml配置过滤器也不起作用,tomact里也不起作用,用的是GBK

解决方案 »

  1.   

    struts2 你用的是哪个版本的 2.1.6的struts.il8n.encoding是个 bug
    2.1.6以后的可以正常使用
    估计是版本问题
      

  2.   


    struts2-core-2.0.6.jar 这个版本的
      

  3.   

    第一次听说可以在Struts配置文件当中可以解决乱码的问题,我在此留意一下。
    我以前都是用的过滤器
      

  4.   

     我以前也碰到过这种问题
    设置了il8n
    并且还用了spring解决中问题的问题
    但是还是不好使憋了我3天后来发现时我的jsp页面 中的问题
    里面的form表单  我没设定方法  method=""
    最后加上这个好了现在估计你也是这个问题
      

  5.   

    全部改成UTF-8
    <constant name="struts.il8n.encoding" value="UTF-8"></constant>和JSP页面
    再不行 加上过滤器
      

  6.   

    method 我加上了,可是还是不行,结果我从新建了个action类,从放了,好了
      

  7.   

    是不是form 标签上 没 有设置method 属性  等于 post  不要用get   
      

  8.   

    method 我加上了,可是还是不行,结果我从新建了个action类,从放了,好了是不是因为项目没有clean然后再编译的缘故?
      

  9.   


    用的什么开发工具啊,我在eclipse上用struts2时经常出这种没有重新编译的问题,很是郁闷
      

  10.   

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    <!-- default: /WEB-INF/applicationContext.xml -->
    </listener> <context-param>
    <param-name>contextConfigLocation</param-name>
    <!-- <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>  -->
    <param-value>classpath:beans.xml</param-value>
    </context-param>过滤器必须放在struts配置之前,把method改为post
      

  11.   

    页面、后台使用统一的编码,使用过滤器,如果AJax就用encodeURI编译。实在不行就手动转码
    没用过Struts2