10
有人可以告訴我我需要在<form:select>
路徑屬性中指定什麼以及它用於什麼?實際上我需要了解從下拉列表中選擇的項目的值是如何傳遞到控制器上的?什麼是用於春季標籤的<form:select path>?
有人可以告訴我我需要在<form:select>
路徑屬性中指定什麼以及它用於什麼?實際上我需要了解從下拉列表中選擇的項目的值是如何傳遞到控制器上的?什麼是用於春季標籤的<form:select path>?
假設你有一個模型(狗爲例),一個Dog
各項屬性:
名
年齡
品種
如果你想作一個簡單的形式加入
/編輯狗,你會使用的東西,看起來像這樣:
<form:form action="/saveDog" modelAttribute="myDog">
<form:input path="name"></form:input>
<form:input path="age"></form:input>
<form:select path="breed">
<form:options items="${allBreeds}" itemValue="breedId" itemLabel="breedName" />
</form:select>
</form:form>
正如你所看到的,我選擇了breed
屬性爲b因爲我不希望用戶輸入他想要什麼品種,我希望他從列表(在這種情況下,allBreeds
,其中控制器將傳遞到視圖)中選擇。
在<form:select>
我用path
告訴彈簧選擇具有綁定到Dog
模型的breed
。
我也使用<form:options>
來填充選項,並提供breed
屬性的所有可用選項。
<form:select>
很聰明,如果它正在使用填充模型(即從數據庫中提取的Dog
或默認品種值) - 它會自動從列表中選擇「正確」選項。
在這種情況下,控制器將類似於此:
@RequestMapping(value="/saveDog")
public String saveDog(@ModelAttribute("myDog") Dog dogFromForm){
//dogFromForm.getBreed() will give you the selected breed from the <form:select
...
//do stuff
...
}
我希望我的回答給你一個大致的瞭解。