如何取消设置HttpServletRequest
参数(特别是在JSP中)(如在使用unset($_POST['index'])
函数的PHP中)?我尝试了以下内容。
Map requestMap=request.getParameterMap();
requestMap.remove("index");
但它说
不允许对锁定的ParameterMap进行修改
有没有办法取消设置请求参数?
答案 0 :(得分:3)
有没有办法取消设置请求参数?
AFAIK,不在JSP本身(或任何Servlet)中。
但是你可以用一种替换参数映射的方式编写一个包含当前Request的Filter。
答案 1 :(得分:1)
你要做的就是写一个HttpFilter
,写一个HttpRequestWrapper
你的(MyRequestWrapper
)。覆盖getParameter
中HttpRequestWrapper
的{{1}}方法,使您不返回参数(可能始终返回null)。
在过滤器代码中,您应该覆盖MyRequestWrapper
方法并从doFilter
对象创建新的MyRequestWrapper
,然后执行ServletRequest