struts中文显示问题

    原先使用struts会有很多乱码,后来发现在action处理处理数据的时候没有设置好编码,我们需要确认如下的编码设置。这里我们使用utf-8。
    1. 在每个页面设置request和response的charset,比如
        <%
                request.setCharacterEncoding(
"utf-8");
                response.setCharacterEncoding(
"utf-8");
         
%> 



    2. 设置数据库的编码是utf-8。
    我们设置action中的编码也是utf-8,貌似会出现说什么,不能设置这个编码,因为之前已经读了这个request,所以我们要重载 ActionServlet的process方法,如
1 public class MyActionServlet extends  ActionServlet
2 {
3         protected void process(HttpServletRequest request, HttpServletResponse response) 
4                throws   java.io.IOException, javax.servlet.ServletException 
5     {
6          request.setCharacterEncoding("utf-8");
7          super.process(request, response);
8     }
9 }
    然后需要在web.xml中设置调用的ActionServlet,修改
 
<servlet>
        
<servlet-name>action</servlet-name>
        
<!--servlet-class>org.apache.struts.action.ActionServlet</servlet-class-->
        
<servlet-class>servlet.MyActionServlet</servlet-class>
        这里省略掉了。
</servlet>
    中文就这样解决了。: )

posted on 2010-02-05 02:01  vivy  阅读(209)  评论(0编辑  收藏  举报