两个jsp页面通过action传值,已经加上了
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8" %> 
struts.xml里面加上了
 <constant name="struts.i18n.encoding" value="UTF-8"/>
web.xml加上了
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>
    </filter>  
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
在action里面加上了
public String execute() throws Exception {
// TODO Auto-generated method stub
  HttpServletRequest request= null;
   HttpServletResponse response = null;
   request = ServletActionContext.getRequest();
   response = ServletActionContext.getResponse();
   request.setCharacterEncoding("utf-8");
   response.setContentType("text/html;charset=utf-8");
 
return "success";
}
并且在struts.xml的同级文件夹下建立了struts.properties文件,内容如下:
struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simplestruts.locale=zh_CN
struts.i18n.encoding=UTF-8struts.serve.static.browserCache=false
struts.url.includeParams=none
 
为什么jsp通过action传给另一个jsp页面显示还是乱码呢?

解决方案 »

  1.   

    HttpServletRequest request= null;
    HttpServletResponse response = null;
    request = ServletActionContext.getRequest();
    response = ServletActionContext.getResponse();
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    这些东西没必要,去掉。
    检查action jsp的编码格式都是什么。
      

  2.   

    很诡异的问题,经常遇到,有时候同一个项目中,有的没问题,有的却出问题,出了问题只能用
    String(name.getBytes("ISO-8859-1"),"UTF-8")解决了,再去找原因,很麻烦的
      

  3.   

    你在struts.xml用过滤器来转换乱码,过滤器会写吧