2012-07-24 89 views
4

我有一段時間試圖弄清楚狀態索引如何在Struts 2中工作(我使用的是Struts 2.3.4)。我試圖遍歷項目5-9在我selectedValues字符串列表:Struts 2使用狀態索引

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

任何幫助將不勝感激。

+0

只是好奇,有你這樣'試過'。欲瞭解更多細節看看這個JIRA票https://issues.apache.org/jira/browse/WW-3314 – 2012-07-24 16:31:42

+0

謝謝,我意識到我應該格式化我的名字屬性這樣:「selectedValues [%{#status.index }]」。不幸的是,我仍然無法讓它爲value屬性正確工作。開始和結束屬性爲我的currentSelect列表正確計數(5-9),但不適用於我的selectedValues列表。 – CredK 2012-07-24 18:11:24

+0

所以你試圖得到五個選擇框,每個提交給相同的動作屬性,每個顯示'availableOptions'列表的* n * th值? – 2012-07-24 20:03:52

回答

0

嘗試增加以下,看看它的工作原理:

<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是要知道如何開始計數。

+0

謝謝,我試過,不幸的是它仍然無法正常工作。它似乎步驟正確(1),我只是不能得到它在5開始使用name =「selectedValues [#status.index]」 – CredK 2012-07-24 18:15:59

+0

@CredK你的意思是價值觀是正確的? – GingerHead 2012-07-25 06:27:10

1

你可以試試這個availableOptions[%{#status.index}]selectedValues"