弹簧标签中的<表单:选择路径>用于什么?

2022-09-02 23:50:21

有人可以告诉我我需要在路径属性中指定什么以及它的用途吗?实际上,我需要了解下拉列表中所选项目的值如何传递到控制器上?<form:select>


答案 1

假设你有一个模型(以狗为例),a具有各种属性:
命名
年龄
品种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>

如您所见,我选择属性为 ,因为我不希望用户键入他想要的任何品种,我希望他从列表中选择(在本例中,控制器将传递给视图)。breedselectallBreeds

在 我曾经告诉春天,选择必须绑定到模型。<form:select>pathbreedDog

我还曾经用属性的所有可用选项填充选择。<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
...
}

我希望我的答案能给你一个大概念。


答案 2

推荐