Как сделать цикл в GSP?

У меня есть файл GSP, в котором я получаю значение от контроллера, например, ${paramsValue?.ruleCount} равно 3, и на основе этого я должен создавать строки таблицы.

Есть ли способ сделать это в gsp

Ответ 1

как насчет

<g:each in="${(1..paramsValue?.ruleCount).toList()}" var="count" >
   ...
</g:each>

?

Но было бы лучше, если бы вы подготовили список с содержимым, которое будет отображаться в вашем контроллере...

Update:

просто попробовал:

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

работает и еще короче.

Update2:

Кажется, что вы хотите использовать параметр URL как счетчик. Этот код будет работать в этом случае:

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

он проверит, есть ли параметр count. Если нет, он вернет пустой список для повторения. Если счетчик установлен, он будет передавать его в Integer, создавать диапазон и неявно преобразовывать его в список для повторения.