日期:2014-05-18  浏览次数:20695 次

struts 疑难问题(help me)
我在struts项目中创建了一个类,   并且让继承了HttpServletRequestWrapper,并重写了getParameterMap(),   getParameterNames(),   getParameter()等方法对用户的请求中的数据做gb2312的转码.
并且在过滤器(doFilter()方法)中使用这个类的对象,充当request
但加上后,目标页面都能直接的显示中文了,但ActionForm中的validate()方法就不会自动进行调用了(注:   <action> 设置了validate=true,   在ActionForm中也覆盖了validate()方法)

请大侠们帮我一吧!!

------解决方案--------------------
不太明白 你已经在filter用过了 干吗还要再用?

如果你实在要用的话可以参考我下面的意见
step1. 继承 requestproceesor.然后重写processValidate
class a extends requestproceesor{
protected boolean processValidate(省略){
HttpServletRequestWrapper newReq=HttpServletRequestWrapper(oldReq);
super.processValidate(newReq,省略);
}
}
step2. struts-config.xml里用 <controllor> 标签定义自定义的RequestProcessor(就是上面那个类)
------解决方案--------------------
不要继承工具类。