06-08
31

在Struts中利用预处理方法解决中文乱码问题

   在Struts1.11版本之后,ActionServlet不再处理所有请求,而是把大部分请求抛给了RequestProcessor类,在其类中的第六个方法processPreprocess形式为:

boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response)

{

return ture;

}

不难看出此方法可以用来重载,只需继承RequestProcessor类,便可以实现预处理请求。For example:

package mystrutsproject;
import org.apache.struts.action.*;
import javax.servlet.http.*;

public class MyProRequestProcessor extends RequestProcessor
{
protected boolean processPreprocess (HttpServletRequest request,
HttpServletResponse response)
{
try
{
request.setCharacterEncoding("GB2312");
//文字处理
}
catch(Exception e){}

return true;
}
}
写完上面代码后修改struts-config.xml,添加控制器元素:
  

PS:其实添加控制器元素也是一个重载的过程。默认的processorClass应等于RequestProcessor类。



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 预处理 乱码 中文乱码
相关日志:
评论: 0 | 引用: 0 | 查看次数: 819
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭