Модуль расчета индекса int итератор Struts2 - PullRequest
4 голосов
/ 14 декабря 2010

Я использую итератор Struts2 для настройки списка флажков в таблице. Я хочу иметь 10 флажков на строку, поэтому я делаю следующее:

<table>
    <tr>
    <s:iterator value="securityMasterFields" status="fieldNameStatus" var="fieldName">
        <s:if test="#fieldNameStatus.index % 10 ==0">
                </tr><tr>
        </s:if>
        <td>
            <s:checkbox name="fieldsToShow" fieldValue="%{fieldName}" value="%{fieldName}"/>
        </td>
    </s:iterator>       
    </tr>
</table>

Он никогда не проходит через if, поэтому я предполагаю, что мод рассчитан неправильно. Как мне это сделать?

спасибо

Ответы [ 2 ]

5 голосов
/ 15 декабря 2010

Ну, мне пришлось добавить несколько скобок, и это работало правильно. Цикл работал, просто он не проходил через if.

<s:if test="(#fieldNameStatus.index % 8 )==0"></tr><tr></s:if>
1 голос
/ 15 декабря 2010

Это выглядит хорошо для меня. Две мысли:

1) попробуйте распечатать результат теста в теге s: property

2) Похоже, у вас будут пустые строки таблицы ... Вы смотрите на сгенерированный html или просто на вывод, потому что если это просто вывод, то если у вас нет CSS, дающего вам отступы и границы таблицы, без пустого элемента 'td' строка может свернуться и заставить ее выглядеть так, как будто ничего не добавляется. Поэтому убедитесь, что вы печатаете и пустые элементы 'td'!

...