第四章 Spring MVC的标签库

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

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

P63 表单标签库

表单标签库中的所有标签
标签 描述
form 渲染表单元素
input 渲染元素
password 渲染元素
hidden 渲染元素
textarea 渲染textarea元素
checkbox

渲染一个元素

checkboxes 渲染多个元素
radiobutton 渲染一个元素
radiobuttons 渲染多个元素
select 渲染一个选择元素
option 渲染一个可选元素
options 渲染多个可选元素
errors 在span元素中渲染字段错误

P65 form标签

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

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

P69 hidden标签

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

Spring MVC的hidden标签的常用属性
属性 描述
htmlEscape boolean值,表示被渲染的值是否应该进行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属性
htmlEscape boolean值,表示被渲染的值是否应该进行HTML转义
path 要绑定的属性路径

P70 checkbox标签

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

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

P79 options标签

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

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

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

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

2018.8.5

 光るなら—Goose house

若能绽放光芒。

你可能感兴趣的:(第四章 Spring MVC的标签库)