Struts 2 с использованием индекса состояния

Я чертовски долго пытаюсь понять, как индекс состояния работает в Struts 2 (я использую Struts 2.3.4). Я пытаюсь перебрать пункты 5-9 в моем списке строк selectedValues:

<s:iterator value="availableOptions" var="currentSelect" begin="5" end="9" status="status">
    <td><s:select list="currentSelect" name="selectedValues" value="selectedValues" cssClass="day-select" /></td>
</s:iterator>

Но он ищет такие значения: selectedValues[0], selectedValues[1] и т. д., а не selectedValues[5], selectedValues[6]...

Кажется, единственный способ заставить его работать — вручную добавить 5, что похоже на кладж:

<td><s:select list="currentSelect" name="selectedValues[5+#status.index]" value="selectedValues[5+#status.index]" cssClass="day-select" /></td>

Любая помощь будет принята с благодарностью.


person CredK    schedule 24.07.2012    source источник


Ответы (2)


Вы можете попробовать это availableOptions[%{#status.index}]selectedValues"

person Astoner    schedule 06.09.2013

Попробуйте добавить следующее и посмотрите, работает ли это:

<s:iterator value="availableOptions" var="currentSelect" begin="5" end="9" status="status" step="1">
        <td><s:select list="currentSelect" name="selectedValues" value="selectedValues[#status.index]" cssClass="day-select" /></td>
    </s:iterator>

Где status.index — начальная и конечная функция, которую нужно использовать.
Step — знать, как начать подсчет.

person GingerHead    schedule 24.07.2012
comment
Спасибо, я пробовал, к сожалению, это все еще не работает. Кажется, он делает правильный шаг (на 1), я просто не могу заставить его начать с 5, используя name=selectedValues[#status.index] - person CredK; 24.07.2012