我有GSP文件,其中我将从控制器获取一个值,例如${paramsValue?.ruleCount}
是3并且基于此我必须创建表行。
有没有办法在gsp
中做到这一点答案 0 :(得分:21)
怎么样
<g:each in="${(1..paramsValue?.ruleCount).toList()}" var="count" >
...
</g:each>
但如果您准备一份包含要在控制器中显示的内容的列表会更好......
更新
试了一下:
<% def count=5 %>
<g:each in="${(1..count).toList()}" var="c" >
${c}
</g:each>
作品。
<% def count=5 %>
<g:each in="${1..count}" var="c" >
${c}
</g:each>
也有效,甚至更短。
UPDATE2:
您似乎想要使用URL参数作为计数。在这种情况下,此代码将起作用:
<g:each in="${params.count?1..(params.count as Integer):[]}" var="c" >
${c}
</g:each>
它将检查是否有count参数。如果没有,它将返回一个空列表进行迭代。如果设置了count,它将把它强制转换为Integer,创建一个Range并隐式地将它转换为一个列表来迭代。