Java web项目中过滤器怎么处理request中的值

通过过滤器处理列一些特殊字符然后怎么通过request将新的值传递到action里面... 通过过滤器处理列一些特殊字符然后怎么通过request将新的值传递到action里面 展开
 我来答
maye100
2015-07-06 · TA获得超过2650个赞
知道小有建树答主
回答量:1341
采纳率:100%
帮助的人:979万
展开全部
把request中的参数都遍历一遍,然后按你要求改,改完放回去就行了
    Map<String, String[]> reqMap = req.getParameterMap();
            Set<String> keySet = reqMap.keySet();
            for(String key : keySet){
                if(/* 这写你的判断条件 */ ){
                    //写你要怎么改
                }
                
                //这里把改完的放回去
            }
更多追问追答
追问
这个我已经完成了,我的疑问就是怎么放回去这一步,
放回去的代码如何写
追答

好吧,吃完饭回来继续回答你的问题,既然你问了,我就给你详细说说。

我们知道request是不能直接把值放回去的,但你依然有两种方式解决:

  1. 把处理完的数据放到一个HashMap里,然后调用request.setAttribute()方法,自己起一个名字。这么做相当于你把request的参数过滤之后又自己封装了一下,以后页面都按你这个名字取map,再取值。

  2. 第二个方法相比上一个就显得“高大上”了很多。先说思路:依然是把过滤后的数据放到一个map里,然后你写个类,继承HttpServletRequestWrapper,重写getParameter方法,这个方法里的取值就是从你定义的map里取,也就是你处理后的数据了。

具体代码?那太多了。

不过我还是当一次雷锋吧,再给你第三种方法吧,就是使用现成的开源框架。

具体请参考我的网站:http://www.mayee.net/b/bp/5b11aca176ad479e8547666993c42959

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式