我有需要在
结构中传递的值type1 : value1, value2, value3
type2 : value4, value5, value6
type3 : value7, value8, value8
所以我在我的控制器中创建了一个HashMap<String, ArrayList<String>>()
,并将其传递给我的gsp
文件,如下所示:
def queryMap = new HashMap<String, ArrayList<String>>()
//fill in data
render(template: "/item/myPage", model: [queryMap: queryMap])
然后在我的gsp
页面中,我想将它传回给我的控制器:
<g:link action="myNewPage" controller="item" params='[queryMap: "${queryMap}"]'>fun</g:link>
然后在myNewPage
控制器方法中我想得到这样的地图:
def queryMap = params.queryMap as HashMap
但由于某种原因,我的地图没有正确传递?如何正确地将带有列表的地图传递给我的gsp文件,然后再传回我的控制器?
如果您需要更多信息,请与我们联系。
答案 0 :(得分:3)
如下所示,无需插入queryMap
(不含${}
)
<g:link action="myNewPage"
controller="item"
params="[queryMap: queryMap]">fun</g:link>
此外,您不需要推断类型as HashMap
,默认情况下也是如此。我也同意@Isammoc关于提出适当的数据模型(使用表格等),而不是来回流过模型。
答案 1 :(得分:0)
您可以尝试序列化整个地图,然后传递它并在需要时反序列化。您可以将整个Map转换为JSON并将其作为String传递。