spring 标签中的 <form:select path> 是做啥用的?
Posted
技术标签:
【中文标题】spring 标签中的 <form:select path> 是做啥用的?【英文标题】:What is <form:select path> in spring tag used for?spring 标签中的 <form:select path> 是做什么用的? 【发布时间】:2014-05-16 14:59:11 【问题描述】:谁能告诉我我需要在<form:select>
路径属性中指定什么以及它的用途?实际上我需要了解下拉列表中所选项目的值如何传递到控制器?
【问题讨论】:
【参考方案1】:假设您有一个模型(例如狗),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
属性作为select
,因为我不希望用户输入他想要的任何品种,我希望他从列表中选择(在这种情况下为allBreeds
,控制器将传递给视图)。
在<form:select>
中,我使用path
告诉spring 选择必须绑定到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
...
希望我的回答能给你一个大概的思路。
【讨论】:
以上是关于spring 标签中的 <form:select path> 是做啥用的?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security3中的-authentication-manager标签详解
spring property标签中的 ref属性和ref 标签有啥不同? 如下:<property name="a" ref="b" />