2013-05-17 172 views
1

我有Struts的1.2豆如下其中包含數組位置填充豆類選擇選項支柱

Register.java

public class Register extends ActionForm 
{ 
    private String[] userLocation = {"Chennai", "Bangalore", "Delhi", "Singapore"}; 
    . 
    . 
    //Getters and Setters 
    . 
    . 
    . 

} 

我要填充這個在下拉列表中選擇的選項。我嘗試了下面的代碼,但它不工作。任何想法如何做到這一點。是否有可能通過使用數組使用集合來做到這一點。

RegisterForm.jsp

<html:select property="userSelectedLocation"> 
    <html:options property="id" labelProperty="name" /> 
</html:select> 

回答

2

閱讀select標籤和options標籤的文檔。

select標籤期望找到屬性中選擇框的選定值。你給它userSelectedLocation作爲屬性,但行動表似乎沒有任何getUserSelectedLocation()方法。

選項標記從一組值中獲取選項。它獲取集合的地方取決於三個屬性:集合,名稱和屬性。該文檔說:

僅指定屬性 - 此屬性的值是與我們的表單關聯的ActionForm bean的屬性的名稱,該屬性將返回集合。

這意味着選項標記在返回值數組的操作表單中查找方法getId()。似乎你沒有這樣的方法。

該文檔清楚地解釋了標籤的工作原理。如果您告訴我們您想要做什麼(您希望選擇選項具有哪些值和標籤,那麼包含選定值的屬性是什麼),我們可以告訴您要使用什麼。

+0

非常感謝你回覆我是Struts的新手我唯一的疑問是我是否可以從數組中填充值,因爲我已經學會了如何從collection中填充。由於有一種方法可以從數組中填充值作爲複選框,所以我想讓自己弄清楚下拉是否可能出現同樣的情況。非常感謝你 –

+0

試試吧,看看。 IIRC,STruts支持數組就好了。但是使用數組通常不是一個好主意。你爲什麼不用'List '代替? –