Grails 如何在GSP中进行循环?

Grails 如何在GSP中进行循环?,grails,gsp,Grails,Gsp,我有一个GSP文件,在其中我将从控制器获取一个值,例如,${paramsValue?.ruleCount}是3,我必须基于此创建表行 在普惠制中有没有办法做到这一点呢 <g:each in="${(1..paramsValue?.ruleCount).toList()}" var="count" > ... </g:each> ... ? 但若你们准备一个列表,其中的内容将显示在你们的控制器中,那个就更好了 更新: 只是尝试一下: <% def coun

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

在普惠制中有没有办法做到这一点呢

<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>

${c}
工作

<% def count=5 %>
<g:each in="${1..count}" var="c" >
  ${c}
</g:each>

${c}
它也很管用,甚至更短

更新2:

似乎要使用URL参数作为计数。在这种情况下,此代码将起作用:

<g:each in="${params.count?1..(params.count as Integer):[]}" var="c" >
  ${c}
</g:each>

${c}

它将检查是否存在计数参数。如果不是,它将返回一个空列表进行迭代。如果设置了count,它会将其转换为整数,创建一个范围并隐式地将其转换为一个列表以进行迭代。

您得到的错误消息是什么-可能是您的
paramsValue?。ruleCount
不是一个数字?然后尝试
paramsValue?.ruleCount作为整数
Yes,bust仍然我有一个强制转换异常,org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException:在第[162]行计算表达式[1..paramsValue?.ruleCount作为整数]时出错:无法将类为“groovy.lang.ObjectRange”的对象“1..50”强制转换为类为“java.lang.Integer”,该类位于C_urmsworkspacewithservices\u rmsportal\u grails\u app\u views\u requestService\u submit\u gsp$\u run\u closure2.doCall(submit.gsp:175),位于C_urmsworkspacewithservices\u sportal\u grails\u app\u views\u requestService\u submit\u gsp.run(submit.gsp:1)查看我的更新代码。。。它必须是
[1..(paramsValue?.ruleCount作为整数)]
而不是
[1..paramsValue?.ruleCount作为整数]