2012-11-05 62 views
2

我有一個Struts2應用程序。在JSP頁面中我使用選擇框從數據庫中填充的ArrayList:是否可以將ArrayList索引存儲到Struts 2選擇框中作爲listkey?

<s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select country" /> 

但我需要在listKey存儲不是一個ID但ArrayList中的索引。那麼我讀這個索引,在ArrayList中找到合適的國家並檢索它。可能嗎?

回答

0

嘗試如下使用countryList.indexOf(country)

<s:select name="country" list="countryList" listKey="countryList.indexOf(country)" 
              listValue="countryName" headerKey="0" 
            headerValue="Country" label="Select country"/> 
+0

@ user1788867:很高興知道,這是有幫助的。請不要忘記接受答案。 –

+0

請注意,雖然它可能沒有關係,但這是一個非常昂貴的操作,因爲它會遍歷列表以查找國家/地區。國際海事組織最好在提交後查看它,只執行一次查詢,或在Java端創建索引/國家列表等。 –

+0

或者使用HashMap而不是ArrayList,並將ID作爲鍵。 。 –

相關問題