13

我有 GSP 文件,我将在其中从控制器获取一个值,例如${paramsValue?.ruleCount}3 并且基于该值我必须创建表行。

有没有办法在 gsp 中做到这一点

4

1 回答 1

25

关于什么

<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 并将其隐式转换为一个列表以进行迭代。

于 2012-11-14T09:53:15.090 回答