Spring MVC的表单标签库详解
表单标签库中包含了可以用在 JSP 页面中渲染 HTML 元素的标签。在 JSP 页面使用 Spring 表单标签库时,必须在 JSP 页面开头处声明 taglib 指令,指令代码如下:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
在表单标签库中有 form、input、password、hidden、textarea、checkbox、checkboxes、radiobuttton、radiobuttons、select、option、options、errors 等标签。
表单标签
表单标签的语法格式如下:
<form:form modelAttribute="xxx" method="post" action="xxx">...
</form:form>
表单标签除了具有 HTML 表单元素属性以外,还具有 acceptCharset、commandName、cssClass、cssStyle、htmlEscape 和 modelAttribute 等属性。
- acceptCharset:定义服务器接受的字符编码列表。
- commandName:暴露表单对象的模型属性名称,默认为 command。
- cssClass:定义应用到 form 元素的 CSS 类。
- cssStyle:定义应用到 form 元素的 CSS 样式。
- htmlEscape:true 或 false,表示是否进行 HTML 转义。
- modelAttribute:暴露 form backing object 的模型属性名称,默认为 command。
其中,commandName 和 modelAttribute 属性的功能基本一致,属性值绑定一个 JavaBean 对象。假设控制器类 UserController 的方法 inputUser 是返回 userAdd.jsp 的请求处理方法,inputUser 方法的代码如下:
@RequestMapping(value="/input")
public String inputUser(Model model) {...model.addAttribute("user", new User());return "userAdd";
}
userAdd.jsp 的表单标签代码如下:
<form:form modelAttribute="user" method="post" action="user/save">...
</form:form>
注意:在 inputUser 方法中,如果没有 Model 属性 user,userAdd.jsp 页面就会抛出异常,因为表单标签无法找到在其 modelAttribute 属性中指定的form backing object。
input 标签
input 标签的语法格式如下:
<form:input path="xxx"/>
该标签除了有 cssClass、cssStyle、htmlEscape 属性以外,还有一个最重要的属性——path。path 属性将文本框输入值绑定到 form backing object 的一个属性。示例代码如下:
<form:form modelAttribute="user" method="post" action="user/save"><form:input path="userName"/>
</form:form>
上述代码将输入值绑定到 user 对象的 userName 属性。
password 标签
password 标签的语法格式如下:
<form:password path="xxx"/>
该标签与 input 标签的用法完全一致,这里不再赘述。
hidden 标签
hidden 标签的语法格式如下:
<form:hidden path="xxx"/>
该标签与 input 标签的用法基本一致,只不过它不可显示,不支持 cssClass 和 cssStyle 属性。
textarea 标签
textarea 基本上就是一个支持多行输入的 input 元素,语法格式如下:
<form:textarea path="xxx"/>
该标签与 input 标签的用法完全一致,这里不再赘述。
checkbox 标签
checkbox 标签的语法格式如下:
<form:checkbox path="xxx" value="xxx"/>
多个 path 相同的 checkbox 标签,它们是一个选项组,允许多选,选项值绑定到一个数组属性。示例代码如下:
<form:checkbox path="friends" value="张三"/>张三
<form:checkbox path="friends" value="李四"/>李四
<form:checkbox path="friends" value="王五"/>王五
<form:checkbox path="friends" value="赵六"/>赵六
上述示例代码中复选框的值绑定到一个字符串数组属性 friends(String[] friends)。该标签的其他用法与 input 标签基本一致,这里不再赘述。
checkboxes 标签
checkboxes 标签渲染多个复选框,是一个选项组,等价于多个 path 相同的 checkbox 标签。它有 3 个非常重要的属性,即 items、itemLabel 和itemValue。
- items:用于生成 input 元素的 Collection、Map 或 Array。
- itemLabel:items 属性中指定的集合对象的属性,为每个 input 元素提供 label。
- itemValue:items 属性中指定的集合对象的属性,为每个 input 元素提供 value。
checkboxes 标签的语法格式如下:
<form:checkboxes items="xxx" path="xxx"/>
示例代码如下:
<form:checkboxes items="${hobbys}" path="hobby"/>
上述示例代码是将 model 属性 hobbys 的内容(集合元素)渲染为复选框。在 itemLabel 和 itemValue 省略的情况下,如果集合是数组,复选框的 label和 value 相同;如果是 Map 集合,复选框的 label 是 Map 的值(value),复选框的 value 是 Map 的关键字(key)。
radiobutton 标签
radiobutton 标签的语法格式如下:
<form:radiobutton path="xxx" value="xxx"/>
多个 path 相同的 radiobutton 标签,它们是一个选项组,只允许单选。
radiobuttons 标签
radiobuttons 标签渲染多个 radio,是一个选项组,等价于多个 path 相同的 radiobutton 标签。radiobuttons 标签的语法格式如一下:
<form:radiobuttons items="xxx" path="xxx"/>
该标签的 itemLabel 和 itemValue 属性与 checkboxes 标签的 itemLabel 和 itemValue 属性完全一样,但只允许单选。
select 标签
select 标签的选项可能来自其属性 items 指定的集合,或者来自一个嵌套的 option 标签或 options 标签。其语法格式如下:
<form:select path="xxx" items="xxx"/>
或
<form:select path="xxx" items="xxx"><option value="xxx">xxx</option>
</form:select>
或
<form:select path="xxx"><form:options items="xxx"/>
</form:select>
该标签的 itemLabel 和 itemValue 属性与 checkboxes 标签的 itemLabel 和 itemValue 属性完全一样。
options 标签
options 标签生成一个 select 标签的选项列表,因此需要和 select 标签一同使用,具体用法参见“select标签”。
errors 标签
errors 标签渲染一个或者多个 span 元素,每个 span 元素包含一个错误消息。它可以用于显示一个特定的错误消息,也可以显示所有错误消息。其语法格式如下:
<form:errors path="*"/>
或
<form:errors path="xxx"/>
其中,“*”表示显示所有错误消息;“xxx”表示显示由“xxx”指定的特定错误消息。
Spring MVC的表单标签库详解相关推荐
- 中input标签赋值_Java程序员:Spring MVC JSP表单标签示例
Spring MVC的表单标签为Java程序员提供了许多额外的支持.例如数据绑定,允许自动设置数据并从Java对象中检索数据. 从2.0版本开始,Spring提供了一组全面的数据绑定感知标记,用于在使 ...
- Spring MVC JSP 表单标签教程
在本教程中,我们将通过一个示例讨论所有与Spring MVC相关的JSP表单标签. 在本教程中,我们将使用下面重要的弹簧MVC表单标签进行讨论: 表单标签 文本字段标签 选择标签 复选框 无线电盒 密 ...
- Spring MVC之表单标签
为什么80%的码农都做不了架构师?>>> 序言 Spring自2.0开始,就开始全面支持表单标签. 使用表单标签的优点有: 简单 支持Model自动绑定 一.表单标签开发步骤 ...
- java中form用法_SpringMVC表单标签使用详解
在使用SpringMVC的时候我们可以使用Spring封装的一系列表单标签,这些标签都可以访问到ModelMap中的内容.下面将对这些标签一一介绍. 在正式介绍SpringMVC的表单标签之前,我们需 ...
- Spring MVC:表单处理卷。 5 –选择,选项,选项标签
下拉列表是Web表单中最常见的元素之一. 在HTML中,可以使用适当的标签创建此类控件: <form:select> –下拉列表的父标签和<form:option> – < ...
- Spring MVC:表单处理卷。 4 –单选按钮
在软件开发领域,单选按钮是图形用户界面的重要组成部分. Spring MVC标签库为此表单元素提供了特殊标签. 更确切地说,有两个标签用于此目的:单选按钮,单选按钮. 两者对于特定任务都是有用的. 如 ...
- Spring MVC:表单处理卷。 2 –复选框处理
很难想象现代Web应用程序中没有表单复选框的情况. 在之前的一篇文章中,我写了有关Spring MVC中的表单处理的文章 ,作为本系列文章的续篇,我将写有关Spring MVC表单的文章,尤其是关于复 ...
- Spring MVC:表单处理卷。 3 –复选框处理
我已经发布了有关使用Spring MVC标签库处理'checkbox'标签的帖子. 现在,我要开发此主题并继续使用"复选框"标签. 它并不难,但是在某些情况下,您最好使用它. 在本 ...
- Spring MVC:表单处理卷。 1个
Spring MVC是Spring Framework的一部分,其主要目的是使Web开发更加简单,便捷和轻松. 与表单的交互是或多或少现代Web应用程序的一部分. Spring MVC允许您以非常严格 ...
最新文章
- SQL SERVER数据库中的数据类型 转
- github初次使用
- 文献学习(part89)--Diversity-induced Multi-view Subspace Clustering
- 测试框架 如何测试私有方法_高效的企业测试–测试框架(5/6)
- windows 下启动zookeeper的zkServer.cmd服务闪退
- 需求分析的图形工具(层次方框 warnier IPO)
- MongoDB小型文档型数据库使用
- 吴恩达深度学习之五《序列模型》学习笔记
- Shuffle Cards(Rope大法)将一段区间的数字整体搬动
- U盘文件变exe文件
- 互联网专家资源分享(二)
- ai条码插件免安装_AI条形码插件(含支持Illustrator cs6的条码脚本插件)
- 消息中间| JAVA消息中间件概述
- easyrecovery数据恢复软件免费版最新下载,以及磁盘数据怎么恢复
- 螺纹检测案例-螺距测量-大径小径检测-螺牙检测
- 素问之二四气调神大论篇
- 【小记】steam 神奇软件
- 关于Java RDP协议实现远程桌面连接的开源项目properjavardp
- 解决 白鹭引擎 egret 龙骨动画 Deprecated 已废弃
- 不等明天,今天就要有个新的开始
热门文章
- linux常用删除空文件夹,Linux基础 linux系统中的批量删除文件与空文件删除的命令介绍...
- 从vCenter 6.7升级到7.0
- Docker学习总结(54)——save,load,import 命令有何区别
- linux系统用w程序,Linux w命令
- Linux系统个性化设置
- 盘点我们最容易误解的30个英语句子
- Exchange 2007的自动发现
- forms角色验证,以普通用户身份登陆管理页面先弹出警告信息窗口
- java8(1)--- lambda
- MyEclipse项目无法自动编译解决方案