当前页面: 开发资料首页 → JSP 专题 → struts中文乱码问题
struts中文乱码问题
摘要: struts中文乱码问题
我用jbuilder开发,今天学着来用struts架构.做得还算比较顺利,但是在第一个页面向第二个页面传值的时候发生了中文乱码问题.请各位高手讲解一下,重谢!
写一个类
import org.apache.struts.action.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyRequestProcessor extends RequestProcessor {
protected boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response) {
try{
request.setCharacterEncoding("gb2312");
}catch(Exception e){
e.printStackTrace();
}
return (true);
}
}
再在struts-config.xml中加上
请问是不是直接在url传的???
如果是的话,修改tomcat8080端口的URIEncoding=“你用的编码”试试
写一个filter 或者
' >
写个自己的EncodeActionServlet
package com.test.struts;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class EncodeActionServlet extends ActionServlet
{
protected void process(
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
HttpSession session = request.getSession(true);
if (session.isNew())//session超时
{
response.sendRedirect("/login.jsp");
return;
}
request.setCharacterEncoding("utf-8"); //进行统一的中文转码
super.process(request, response);
}
}
然后在web.xml里加入如下配置: