【问题标题】:What is <form:select path> in spring tag used for?spring 标签中的 <form:select path> 是做什么用的?
【发布时间】:2014-05-16 14:59:11
【问题描述】:

谁能告诉我我需要在&lt;form:select&gt; 路径属性中指定什么以及它的用途?实际上我需要了解下拉列表中所选项目的值如何传递到控制器?

【问题讨论】:

    标签: java spring jakarta-ee spring-mvc


    【解决方案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,控制器将传递给视图)。

    &lt;form:select&gt; 中,我使用path 告诉spring 选择必须绑定到Dog 模型的breed

    我还使用&lt;form:options&gt; 来填充选择,其中包含breed 属性可用的所有选项。

    &lt;form:select&gt; 很聪明,如果它正在使用填充模型(即从数据库中获取或使用默认品种值的 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
    ...
    }
    

    希望我的回答能给你一个大概的思路。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2013-12-26
      • 2014-03-02
      • 1970-01-01
      相关资源
      最近更新 更多