我有 GSP 文件,我将在其中从控制器获取一个值,例如${paramsValue?.ruleCount}
3 并且基于该值我必须创建表行。
有没有办法在 gsp 中做到这一点
关于什么
<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>
也有效,甚至更短。
更新2:
您似乎想使用 URL 参数作为计数。此代码将在这种情况下工作:
<g:each in="${params.count?1..(params.count as Integer):[]}" var="c" >
${c}
</g:each>
它将检查是否有计数参数。如果没有,它将返回一个空列表进行迭代。如果设置了 count,它将把它转换为 Integer,创建一个 Range 并将其隐式转换为一个列表以进行迭代。