我敢肯定这是一个非常简单的问题,但是我对Groovy还是陌生的,这是我已经苦苦挣扎了一段时间了。我有一个HttpServletRequest
,我需要对它的参数做一些事情。但是,我想排除1个参数。
以前我在用
req.getParameterMap
但是,要删除一个值,我正在尝试以下方法
def reqParams = req.getParameterMap?.remove('blah');
我知道上面的方法不太有效,但这就是我要实现的伪代码。我真的需要新的Map和原始的
req.getParameterMap()
对象看起来完全一样,只是缺少一个键。实现此目标的最佳方法是什么?谢谢! 最佳答案
req.getParameterMap
返回一个不变的 map ,无法修改。您需要从参数映射中创建一个新的映射putAll
,并删除不需要的键。
def reqParams = [:] << req.getParameterMap()
reqParams.remove('blah')
您将新映射作为
reqParams
(没有不需要的键值对)和原始参数映射。