我怎样才能使用g:render with my g:来自Map集合的每个变量?

时间:2014-02-21 21:20:19

标签: grails gsp

我有def statusMap = HashMap<String, List<MyItem>>()传递到我的gsp页面。

在我的gsp页面中,我有以下内容:

<g:each var="myList" in="${statusMap}">
  <div id="pending_list" class="onTop">
    <g:render template="/list" model="['list':"${myList.value}", 'listSize':"${myList.value.size()}"]" />
  </div>
</g:each>

但我似乎无法正确地将myList.valuemyList.value.size()传递到我的模板中。我认为我的引言不知何故,但我不确定。

如何通过模型正确地将myList.value和myList.value.size()传递到列表模板中?

1 个答案:

答案 0 :(得分:1)

由于您使用的是地图,因此您的尝试基于该地图中的键。所以基本语法如下:

<g:each in=${yourCoolMap.entrySet()}" var="entry">
${entry.key} = ${entry.value}
</g:each>

因此,您的代码将如下所示:

<g:each var="myList" in="${statusMap.entrySet()}">
  <div id="pending_list" class="onTop">
    <g:render template="/list" model="['list': myList.value, 'listSize': myList.value.size()]" />
  </div>
</g:each>