第四章 Spring MVC的标签库

《Spring+MyBatis企业应用实战》笔记

Spring从2.0版开始,提供了一组功能强大的标签用来在JSP和Spring Web MVC中处理表单元素。相比其他标签库,Spring标签库集成在Spring Web MVC中,因此这里的标签可以访问控制器处理命令对象和绑定数据,这样一来JSP更容易开发、阅读和维护。

P63 表单标签库

表单标签库中的所有标签
标签描述
form渲染表单元素
input渲染<input type="text">元素
password渲染<input type="password">元素
hidden渲染<input type="hidden">元素
textarea渲染textarea元素
checkbox

渲染一个<input type="checkbox">元素

checkboxes渲染多个<input type="checkbox">元素
radiobutton渲染一个<input type="radiobutton">元素
radiobuttons渲染多个<input type="radiobutton">元素
select渲染一个选择元素
option渲染一个可选元素
options渲染多个可选元素
errors在span元素中渲染字段错误

P65 form标签

Spring MVC的form标签主要有两个作用:

  • 自动绑定Model中的一个属性值到当前form对应的实体对象,默认为command属性,这样我们就可以在form表单体里面方便地使用该对象的属性了。
  • 支持我们在提交表单时使用除GET和POST之外的其他方法进行提交,包括DELETE和PUT等。
Spring MVC的form标签的常用属性
属性描述
modelAttributeform绑定的模型属性名称,默认为command
commandNameform绑定的模型属性名称,默认为command
acceptCharset定义服务器接受的字符编码
cssClass定义要应用到被渲染的form元素CSS类
cssStyle定义要应用到被渲染的form元素CSS样式
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义

commandName属性是其中最重要的属性,它定义了模型属性的名称,其中包含了一个绑定的JavaBean对象,该对象的属性将用于填充所生成的表单。如果commandName属性存在,则必须在返回该表单的视图的请求处理方法中添加响应的模型属性。

通常我们都会指定commandName或modelAttribute属性,指定绑定到的JavaBean的名称,这两个属性功能基本一致。

P66 input标签

Spring MVC的input标签会被渲染为一个类型为text的普通HTML input标签。使用Spring MVC的input标签的唯一作用就是绑定表单数据,通过path属性来指定要绑定的Model中的值。

Spring MVC的input标签的常用属性
属性描述
cssClass定义要应用到被渲染的input元素CSS类
cssStyle定义要应用到被渲染的input元素CSS样式
cssErrorClass定义要应用到被渲染的input元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径

P68 password标签

Spring MVC的input标签会被渲染为一个类型为password的普通HTML input标签。password标签的用法跟input标签相似,也能绑定表单数据,只是它生成的是一个密码框,并且多了一个showPassword属性。

Spring MVC的password标签的常用属性
属性描述
cssClass定义要应用到被渲染的password元素CSS类
cssStyle定义要应用到被渲染的password元素CSS样式
cssErrorClass定义要应用到被渲染的password元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
showPassword表示是否应该显示或遮盖密码,默认值为false

P69 hidden标签

Spring MVC的hidden标签会被渲染为一个类型为hidden的普通HTML input标签。hidden标签的用法跟input标签相似,也能绑定表单数据,只是它生成的是一个隐藏域,没有可视的外观。

Spring MVC的hidden标签的常用属性
属性描述
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径

2018.8.3

P69 textarea标签

Spring MVC的textarea标签会被渲染为一个类型为textarea的普通HTML标签。textarea是一个支持多行输入的HTML元素。

Spring MVC的textarea标签的常用属性
属性描述
cssClass定义要应用到被渲染的textarea元素CSS类
cssStyle定义要应用到被渲染的textarea元素CSS样式
cssErrorClass定义要应用到被渲染的textarea元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径

P70 checkbox标签

Spring MVC的checkbox标签会被渲染为一个类型为checkbox的普通HTML input标签。

Spring MVC的checkbox标签的常用属性
属性描述
cssClass定义要应用到被渲染的checkbox元素CSS类
cssStyle定义要应用到被渲染的checkbox元素CSS样式
cssErrorClass定义要应用到被渲染的checkbox元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
label要作为label被渲染的复选框的值
  • 绑定boolean数据

当checkbox绑定的是一个boolean数据时,checkbox的状态跟被绑定的boolean数据的状态是一样的,即为true时复选框选中,为false时复选框不选中。

  • 绑定列表数据

这里的列表数据包括数组、List和Set。假设有一个User类,User类有一个类型为List的属性courses。当我们需要显示该User的courses时,可以使用checkbox标签来绑定coueses数据进行显示。当checkbox标签的value属性在我们绑定的列表数据中存在时checkbox将为选中状态。

P71 checkboxes标签

Spring MVC的checkboxes标签会被渲染为多个类型为checkbox的普通HTML input标签。

Spring MVC的checkboxes标签的常用属性
属性描述
cssClass定义要应用到被渲染的checkbox元素CSS类
cssStyle定义要应用到被渲染的checkbox元素CSS样式
cssErrorClass定义要应用到被渲染的checkbox元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
items用于生成checkbox元素的对象的Collection、Map或者Array
itemLabelitem属性中定义的Collection、Map或者Array中的对象属性,为每个checkbox元素提供label
itemValueitem属性中定义的Collection、Map或者Array中的对象属性,为每个checkbox元素提供值
delimiter定义两个input元素之间的分隔符,默认没有分隔符

相对于一个checkbox标签中只能生成一个对应的复选框而言,一个checkboxes标签将根据其绑定的数据生成多个复选框。checkboxes绑定的数据可以是数组、集合和Map。在使用checkboxes标签是有两个属性是必须指定的,一个是path,另一个是items。items表示当前用来显示的项有哪些,而path所绑定的表单对象的属性表示当前表单对象拥有的项,即在items所显示的所有项中表单对象拥有的项会被设定为选中状态。 

P76 radiobutton标签

Spring MVC的radiobutton标签会被渲染为一个类型为radio的普通HTML input标签。

Spring MVC的radiobutton标签的常用属性
属性标签
cssClass定义要应用到被渲染的radiobutton元素CSS类
cssStyle定义要应用到被渲染的radiobutton元素CSS样式
cssErrorClass定义要应用到被渲染的radiobutton元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
label要作为label被渲染的复选框的值

P77 radiobuttons标签

Spring MVC的radiobuttons标签会被渲染为多个类型为radio的普通HTML input标签。

Spring MVC的radiobuttons标签的常用属性
属性描述
cssClass定义要应用到被渲染的radiobutton元素CSS类
cssStyle定义要应用到被渲染的radiobutton元素CSS样式
cssErrorClass定义要应用到被渲染的radiobutton元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
items用于生成radio元素的对象的Collection、Map或者Array
itemLabelitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供label
itemValueitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供值
delimiter定义两个input元素之间的分隔符,默认没有分隔符

相对于一个radiobutton标签只能生成一个对应的单选框,一个radiobuttons标签将根据其绑定的数据生成多个单选框。radiobuttons绑定的数据可以是数组、集合和Map。在使用radiobuttons时有两个属性是必须绑定的,一个是path,另一个是items。items表示当前要用来显示的项有哪些,而path绑定的表单对象的属性表示当前表单对象拥有的项,即在items所显示的所有项中表单对象拥有的项会被设定为选中状态。

P79 select标签

Spring MVC的select标签会渲染为一个HTML的select元素。被渲染元素的选项可能来自其items属性的一个Collection、Map及Array,或者来自一个嵌套的option或者options标签。

Spring MVC的select标签的常用属性
属性描述
cssClass定义要应用到被渲染的select元素CSS类
cssStyle定义要应用到被渲染的select元素CSS样式
cssErrorClass定义要应用到被渲染的select元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
path要绑定的属性路径
items用于生成radio元素的对象的Collection、Map或者Array
itemLabelitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供label
itemValueitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供值

其中,items属性特别有用,因为它可以绑定到对象的Collection、Map、Array,为select元素生成选项

P79 option标签

Spring MVC的option标签会渲染select元素中使用的一个HTML的option元素。

Spring MVC的option标签的常用属性
属性描述
cssClass定义要应用到被渲染的option元素CSS类
cssStyle定义要应用到被渲染的option元素CSS样式
cssErrorClass定义要应用到被渲染的option元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义

P79 options标签

Spring MVC的options标签会渲染select元素中使用的一个HTML的option元素列表。

Spring MVC的options标签的常用属性
属性描述
cssClass定义要应用到被渲染的option元素CSS类
cssStyle定义要应用到被渲染的option元素CSS样式
cssErrorClass定义要应用到被渲染的option元素CSS类,如果bound属性中包含错误,则覆盖cssClass属性
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
items用于生成radio元素的对象的Collection、Map或者Array
itemLabelitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供label
itemValueitem属性中定义的Collection、Map或者Array中的对象属性,为每个radio元素提供值

P83 errors标签

Spring MVC的errors标签是对应于Spring MVC的Errors对象的,它的作用就是用于显示Errors对象中包含的错误信息。如果Errors不为null,则会渲染一个HTML的span元素,用来显示错误信息。

Spring MVC的errors标签的常用属性
属性描述
cssClass定义要应用到被渲染的errors元素CSS类
cssStyle定义要应用到被渲染的errors元素CSS样式
htmlEscapeboolean值,表示被渲染的值是否应该进行HTML转义
delimiter定义两个input元素之间的分隔符,默认没有分隔符
path要绑定的属性路径

利用errors标签来显示Errors的时候,是通过errors标签的path属性来绑定一个错误信息。可以通过path属性来显示两种类型的错误信息。

  • 所有的错误信息,这个时候path的值应该置为“*”。
  • 当前对象的某一个属性的错误信息,这个时候的值应为所需显示的属性的名称。

2018.8.5

 光るなら—Goose house

若能绽放光芒。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spring-core.jar(必须):这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 外部依赖Commons Logging, (Log4J)。 spring-beans.jar(必须):这 个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。 外部依赖spring-core,(CGLIB)。 spring-aop.jar(必须):这个jar 文件包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。使用基于AOP 的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 外部依赖spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。 spring-context.jar(必须):这个jar 文件在基础IOC功能上为Spring 核心提供了大量扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。 外部依赖spring-beans, (spring-aop)。 spring-jdbc.jar(必须) :这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。 外部依赖spring-beans,spring-dao。 spring-web.jar(必须) :这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。 外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。 spring-webmvc.jar :这个jar 文件包含Spring MVC 框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。 外部依赖spring-web, (spring-support,Tiles,iText,POI)。 spring-aspects.jar :提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT。 spring-context-support.jar:Spring context的扩展支持,用于MVC方面。 spring-expression.jar:Spring表达式语言。 spring-instrument.jar:Spring对服务器的代理接口 spring-instrument-tomcat.jar:Spring对tomcat连接池的集成 spring-jms.jar:为简化jms api的使用而做的简单封装。 外部依赖spring-beans,spring-dao,JMS API。 spring-orm.jar:整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现 spring-oxm.jar:Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换 spring-messaging.jar: spring-test.jar:对JUNIT等测试框架的简单封装 spring-tx.jar:为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。 spring-webmvc-portlet.jar:Spring MVC的增强 spring-websocket.jar:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值