Java web项目中过滤器怎么处理request中的值
1个回答
展开全部
把request中的参数都遍历一遍,然后按你要求改,改完放回去就行了
Map<String, String[]> reqMap = req.getParameterMap();
Set<String> keySet = reqMap.keySet();
for(String key : keySet){
if(/* 这写你的判断条件 */ ){
//写你要怎么改
}
//这里把改完的放回去
}
更多追问追答
追问
这个我已经完成了,我的疑问就是怎么放回去这一步,
放回去的代码如何写
追答
好吧,吃完饭回来继续回答你的问题,既然你问了,我就给你详细说说。
我们知道request是不能直接把值放回去的,但你依然有两种方式解决:
把处理完的数据放到一个HashMap里,然后调用request.setAttribute()方法,自己起一个名字。这么做相当于你把request的参数过滤之后又自己封装了一下,以后页面都按你这个名字取map,再取值。
第二个方法相比上一个就显得“高大上”了很多。先说思路:依然是把过滤后的数据放到一个map里,然后你写个类,继承HttpServletRequestWrapper,重写getParameter方法,这个方法里的取值就是从你定义的map里取,也就是你处理后的数据了。
具体代码?那太多了。
不过我还是当一次雷锋吧,再给你第三种方法吧,就是使用现成的开源框架。
具体请参考我的网站:http://www.mayee.net/b/bp/5b11aca176ad479e8547666993c42959
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询