06-08
31
在Struts中利用预处理方法解决中文乱码问题
作者:Java伴侣 日期:2006-08-31
在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类。
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类。
评论: 0 | 引用: 0 | 查看次数: 819
发表评论