解决方案 »

  1.   

    给encoding这个对象加个setter方法
      

  2.   

    楼主,在doFilter里面做个打印,看有没有进入。
      

  3.   

    filterChain.doFilter这一句前后都做个打印,打印request.getCharacterEncoding。
    看一下结果
      

  4.   

    doFilter之前怎么是UTF-8,你不是已经设置了ISO了么。
    doFilter之后怎么没有打印字符编码?
      

  5.   

    doFilter之前怎么是UTF-8,你不是已经设置了ISO了么。
    doFilter之后怎么没有打印字符编码?我的问题就是这个,命名设置了ISO却还是UTF,我在action中打印的所以只打印了一次。
      

  6.   

    至于为什么doFilter打印了两次,应该是你的Filter链的先后顺序配置的不对。你自定义的Filter应该要配置在struts2的前面。
      

  7.   

    你应该答应的信息是这样的: doFilter_before + 编码。
    我的意思是,在Filter里面,你打印一下编码。
      

  8.   

    所以你看,其实有个地方把编码又改回去了,至于是哪个地方,你可以断点打在到setCharacterEncoding()这个函数,然后调试看看。