コントローラから値を取得する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-parameter があるかどうかをチェックします。そうでない場合は、空のリストを返して反復します。count が設定されている場合は、それを Integer にキャストし、Range を作成して、反復処理のために暗黙的にリストに変換します。