2012-01-11 76 views
0

我有一個支持bean爲我的表單設置。這部分工作正常。彈簧形式 - 表單的值:選擇項目屬性

我有一個字段的可能值已經設置爲我的支持bean上的列表。有沒有一種方法可以像使用路徑一樣在commandName的上下文中訪問此列表?

舉個例子:

(我不想這樣)

<form:form method="POST" commandName="address"> 
    <form:select path="country"> 
     <form:options items="${address.countryList}" itemValue="countryId" itemLabel="countryName" /> 
    </form:select> 
</form:form> 

(我要訪問是這樣)

<form:form method="POST" commandName="address"> 
    <form:select path="country"> 
     <form:options items="countryList" itemValue="countryId" itemLabel="countryName" /> 
    </form:select> 
</form:form> 

我看到很多的例子在線使用EL風格$ {}作爲items屬性,但我想知道是否有人能夠告訴我這是如何在表單的上下文中完成的。由於缺少更好的術語,我想訪問與commandName處於相同「範圍」中的列表。

可以這樣做嗎?

如果你想知道爲什麼我想這樣做:我有很多嵌套循環內部的幾個窗體,所以我最終得到了大約9個窗體,它們有相似的(但不是確切的)列表,所以我不能每次都使用相同的列表,這就是爲什麼我有支持bean的列表。該列表包含特定於每個bean的允許值。

回答

0

不,因爲pathitems是根本不同的。

的TLD表示form標籤的path屬性指示所選擇的選項應綁定哪些字段和屬性items是產生所有的選項的便利方式。

你的控制器仍然會需要代碼,大概類似於此:

public String formSetup(ModelMap model) { 
    //... 
    model.put("countryList", backingBean.getCountryList()); 
    //... 
    return "mySuperAwesomeView.jsp"; 
}