【问题标题】:How can I use g:render with my g:each variable from a Map collection?如何将 g:render 与 Map 集合中的 g:each 变量一起使用?
【发布时间】:2014-02-21 21:20:18
【问题描述】:

我有一个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() 传递到列表模板中?

【问题讨论】:

  • 你试过了吗?
  • 我刚试过,没用。还有其他想法吗?
  • 我刚刚意识到您正在使用地图进行此操作。您是否尝试遍历地图中的所有键?如果是这样,我可以发布一个关于如何做到这一点的答案。

标签: grails gsp


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多