これは非常に簡単な質問であると確信していますが、Groovyには非常に新しく、しばらく苦労してきました。 HttpServletRequest
があり、そのパラメーターで何かをする必要があります。しかし、私は正確に1パラメータを除外したいです。
以前、私が使用していました
_req.getParameterMap
_
ただし、1つの値を削除するには、次の行に沿って何かを試しています
_def reqParams = req.getParameterMap?.remove('blah');
_
上記はまったく機能しないことを知っていますが、それは私が達成しようとしているものの擬似コードです。キーが欠落していることを除いて、まったく同じに見えるようにするには、新しいマップと元のreq.getParameterMap()
オブジェクトが本当に必要です。これを達成するための最良の方法は何ですか?ありがとう!
req.getParameterMap
は、変更できない不変のマップを返します。パラメータマップから新しいマップputAll
を作成し、不要なキーを削除する必要があります。
def reqParams = [:] << req.getParameterMap()
reqParams.remove('blah')
reqParams
(望ましくないキーと値のペアなし)としての新しいマップと、元のパラメーターマップがあります。
次のようなfindAll
関数を使用できます。
def map = req.getParameterMap().findAll {it.key != 'blah'}