如何删除HttpServletRequest参数(在JSP中)?

时间:2012-07-03 03:32:18

标签: java jsp

如何取消设置HttpServletRequest参数(特别是在JSP中)(如在使用unset($_POST['index'])函数的PHP中)?我尝试了以下内容。

Map requestMap=request.getParameterMap();
requestMap.remove("index");

但它说

  

不允许对锁定的ParameterMap进行修改

有没有办法取消设置请求参数?

2 个答案:

答案 0 :(得分:3)

  

有没有办法取消设置请求参数?

AFAIK,不在JSP本身(或任何Servlet)中。

但是你可以用一种替换参数映射的方式编写一个包含当前Request的Filter。

答案 1 :(得分:1)

你要做的就是写一个HttpFilter,写一个HttpRequestWrapper你的(MyRequestWrapper)。覆盖getParameterHttpRequestWrapper的{​​{1}}方法,使您不返回参数(可能始终返回null)。

在过滤器代码中,您应该覆盖MyRequestWrapper方法并从doFilter对象创建新的MyRequestWrapper,然后执行ServletRequest