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

于 2012-11-14T09:53:15.090 に答える