免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1148 | 回复: 0
打印 上一主题 下一主题

利用扩展ActionServlet 解决中文编码问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-01 22:27 |只看该作者 |倒序浏览
  利用所有struts的代码,都会经过ActionServlet这一特点  我们来继承他的RequestProcessor
覆盖掉里面的processPreprocess方法  
      默认情况下,struts页面提交的数据采用ISO-8859-1编码。如果此时提交的内容为中文,就会产生乱码现象。
   采用扩展ActionServlet的方法,可以解决此问题,具体操作如下:
建立MyProcessor类
public class MyProcessor extends RequestProcessor{
    protected boolean processPreprocess(HttpServletRequest arg0, HttpServletResponse arg1) {
        // TODO Auto-generated method stub
        try {
            arg0.setCharacterEncoding("GBK");
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        arg1.setCharacterEncoding("GBK");
        return (true);
    }
}

这个类继承了RequestProcessor,并且覆盖了里面的processPreprocess,这时对外界预留的接口!
接着在xml中进行配置
/action-mappings>
controller processorClass="com.viita.struts.form.MyProcessor">/controller>
  message-resources parameter="com.viita.struts.ApplicationResources" />
/struts-config>


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72940/showart_1161612.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP