List 如何将哈希映射传递到gsp页面,然后返回控制器?

List 如何将哈希映射传递到gsp页面,然后返回控制器?,list,grails,groovy,hashmap,gsp,List,Grails,Groovy,Hashmap,Gsp,我有一些价值观需要在组织结构中传递 type1 : value1, value2, value3 type2 : value4, value5, value6 type3 : value7, value8, value8 因此,我在控制器中创建了一个HashMap(),并将其传递给我的gsp文件,如下所示: def queryMap = new HashMap<String, ArrayList<String>>() //fill in data render(temp

我有一些价值观需要在组织结构中传递

type1 : value1, value2, value3
type2 : value4, value5, value6
type3 : value7, value8, value8
因此,我在控制器中创建了一个
HashMap()
,并将其传递给我的
gsp
文件,如下所示:

def queryMap = new HashMap<String, ArrayList<String>>()
//fill in data
render(template: "/item/myPage", model: [queryMap: queryMap])
<g:link action="myNewPage" controller="item" params='[queryMap: "${queryMap}"]'>fun</g:link>
def queryMap = params.queryMap as HashMap
然后在
myNewPage
controller方法中,我希望得到如下映射:

def queryMap = new HashMap<String, ArrayList<String>>()
//fill in data
render(template: "/item/myPage", model: [queryMap: queryMap])
<g:link action="myNewPage" controller="item" params='[queryMap: "${queryMap}"]'>fun</g:link>
def queryMap = params.queryMap as HashMap
但是由于某种原因,我的地图没有被正确地传递?如何正确地将带有列表的地图传递到gsp文件,然后返回控制器


如果您需要更多信息,请告诉我。

如下使用,无需插入
queryMap
(无
${}

有趣

此外,您不需要将类型
推断为HashMap
,默认情况下为。我也同意@Isammoc提出一个合适的数据模型(通过使用表单等),而不是在模型上来回移动。

您可以尝试序列化整个地图,然后在需要时传递并反序列化。您可以将整个映射转换为JSON并将其作为字符串传递。

。因为缺少
[
params='[queryMap:${queryMap}]“
为什么要按参数提供数据?用户可以修改它吗?您应该查找带有集合的命令对象。如果没有,为什么不能重新生成数据?@dmahapatro我没有找到,但不是它。@isamoc用户可以向列表中添加内容。您不能以这种方式传递复杂的对象,如列表。