SpringMVC - Form标签(五)

简介: SpringMVC - Form标签(五)



10、option 标签

option标签会被渲染为一个普通的HTML option标签。当一个SpringMVC select标签没有通过items属性指定自己的数据源的时候,我们就可以在select标签中通过普通HTML option标签或者SpringMVC option标签来指定可以选择的项。


<form:form action="formTag/form.do" method="post" commandName="user">  
    <table>  
        <tr>  
            <td>最喜欢的运动:</td>  
            <td>  
               <form:select path="favoriteBall">  
                   <option>请选择</option>  
                   <form:option value="1">篮球</form:option>  
                   <option value="4">羽毛球</option>  
               </form:select>  
            </td>  
        </tr>  
       <tr>  
            <td colspan="2"><input type="submit" value="提交"/></td>  
        </tr>  
    </table>  
</form:form>

我们可以看到在上面代码中我们是没有指定select标签的数据源的,而是通过在select标签体里面指定普通HTML option标签和SpringMVC option标签来指定可选项。其渲染的效果如下:


image.png


答案很明显,当select标签指定了items属性的时候,它会忽略其标签体的内容,而使用items指定的内容来渲染出可选项。

对于第二个问题,我们把视图代码改为如下形式:


<form:form action="formTag/form.do" method="post" commandName="user">  
    <table>  
        <tr>  
            <td>最喜欢的运动:</td>  
            <td>  
               <form:select path="favoriteBall">  
                   <option>请选择</option>  
                   <form:option value="1">篮球</form:option>  
                   <option value="4">羽毛球-A</option>  
                   <form:option value="4">羽毛球-B</form:option>  
               </form:select>  
            </td>  
        </tr>  
       <tr>  
            <td colspan="2"><input type="submit" value="提交"/></td>  
        </tr>  
    </table>  
</form:form>

我们可以看到,在上面代码中,我们定义了一个select标签,其绑定了当前表单对象user的favoriteBall属性,而且我们没有给该select指定items数据源。值得注意的是在该select标签体中我们通过普通HTML option和SpringMVC option标签定义了两个value均为4的option元素,而且我们也知道当前表单对象user的favoriteBall属性的值是4。接着我们来看一下上面代码渲染出的效果:


image.png


image.png



由此我们可以看出SpringMVC option标签和普通HTML option标签的区别就在于普通HTML option标签不具备数据绑定功能,而SpringMVC option标签具有数据绑定功能,它能把当前绑定的表单对象的属性对应的值对应的option置为选



11、options 标签


使用options标签的时候需要我们指定其items属性,它会根据其items属性生成一系列的普通HTML option标签。这里的items属性的可取数据类型及其对应的渲染规则跟select的items属性是一样的。

<form:form action="formTag/form.do" method="post" commandName="user">  
    <table>  
        <tr>  
            <td>最喜欢的运动:</td>  
            <td>  
               <form:select path="favoriteBall">  
                   <option>请选择</option>  
                   <form:options items="${ballMap}"/>  
               </form:select>  
            </td>  
        </tr>  
       <tr>  
            <td colspan="2"><input type="submit" value="提交"/></td>  
        </tr>  
    </table>  
</form:form>  

上面代码将渲染出如下效果:


image.png

目录
相关文章
|
前端开发 Java 数据安全/隐私保护
Spring MVC-05循序渐进之数据绑定和form标签库(上)
Spring MVC-05循序渐进之数据绑定和form标签库(上)
10325 0
|
Java Spring
SpringMVC - Form标签(三)
SpringMVC - Form标签(三)
105 0
SpringMVC - Form标签(三)
|
存储 前端开发 数据库
SpringMVC的form表单标签使用(八)中
SpringMVC的form表单标签使用(八)
266 0
SpringMVC的form表单标签使用(八)中
SpringMVC - Form标签(二)
SpringMVC - Form标签(二)
123 0
|
7月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】
|
6月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
95 1
|
6月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
7月前
|
前端开发 Java 关系型数据库
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
|
6月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18
|
6月前
|
应用服务中间件
从代码角度戳一下springMVC的运行过程-spring16
从代码角度戳一下springMVC的运行过程-spring16