我确信这是一个非常简单的问题,但我对 Groovy 很陌生,这是我已经挣扎了一段时间的问题。我有一个 HttpServletRequest,我需要用它的参数做一些事情。但是,我想精确排除 1 个参数。
以前,我使用的是
req.getParameterMap
但是,为了删除一个值,我正在尝试类似的操作
def reqParams = req.getParameterMap?.remove('blah');
我知道上面的方法不太有效,但这是我想要实现的目标的伪代码。我确实需要新的 Map 和原始的 req.getParameterMap()
对象看起来完全一样,除了缺少一个键。实现这一目标的最佳方法是什么?谢谢!
最佳答案
req.getParameterMap
返回一个无法修改的不可变映射。您需要从参数映射中创建一个新映射 putAll
并删除您不需要的所需键。
def reqParams = [:] << req.getParameterMap()
reqParams.remove('blah')
您的新映射为 reqParams
(不含不需要的键值对)和原始参数映射。
关于dictionary - 从 Groovy 映射中删除给定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860826/