我具有在以下结构中需要传递的值(value)观

type1 : value1, value2, value3
type2 : value4, value5, value6
type3 : value7, value8, value8

因此,我在 Controller 中创建了一个HashMap<String, ArrayList<String>>(),然后将其传递给我的gsp文件,如下所示:
def queryMap = new HashMap<String, ArrayList<String>>()
//fill in data
render(template: "/item/myPage", model: [queryMap: queryMap])

然后在我的gsp页面中,我想像这样将其传递回我的 Controller :
<g:link action="myNewPage" controller="item" params='[queryMap: "${queryMap}"]'>fun</g:link>

然后在myNewPage Controller 方法中,我想要这样的 map :
def queryMap = params.queryMap as HashMap

但是由于某种原因,我的 map 无法正确传递?如何正确地将带有列表的 map 传递给我的gsp文件,然后返回给 Controller ?

如果您需要其他信息,请告诉我。

最佳答案

如下使用而不插入queryMap(不使用${})

<g:link action="myNewPage"
        controller="item"
        params="[queryMap: queryMap]">fun</g:link>

而且,您无需推断as HashMap类型,默认情况下是。我也同意@Isammoc,提出一个适当的数据模型(通过使用表单等),而不是来回遍历模型。

09-28 01:27