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
...
}
我希望我的回答给你一个大致的了解。