SpringMVC 数据绑定和表单标签库

数据绑定是将用户输入绑定到领域模型的一种特性。有了数据绑定,类型总是为 String 的 HTTP 请求参数,可用于填充不同类型的对象属性。数据绑定使得 form bean(如前面各章中的ProductForm 实例)变成多余的。

为了高效地使用数据绑定,还需要 Spring 的表单标签库。

数据绑定概览:数据绑定的另一个好处是:当输入验证失败时,它会重新生成一个 HTML 表单。手工编
写 HTML 代码时,必须记着用户之前输入的值,重新填充输入字段。有了 Spring 的数据绑定

和表单标签库后,它们就会替你完成这些工作。

表单标签库:表单标签库中包含了可以用在JSP 页面中渲染 HTML 元素的标签。为了使用这些标签, 必须在 JSP 页面的开头处声明这个 taglib 指令。<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

#表单标签库中的标签:

标签

描述

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="radio"/>元素

radiobuttons

渲染多个<input type="radio"/>元素

select

渲染一个选择元素

option

渲染一个可选元素

options

渲染一个可选元素列表

errors

在 span 元素中渲染字段错误

1.表单标签:表单标签用于渲染HTML 表单。要使用渲染一个表单输入字段的任何其他标签,必须有一个 form 标签。

#表单标签的属性:

属性

描述

acceptCharset

定义服务器接受的字符编码列表

commandName

暴露表单对象之模型属性的名称,默认为 command

cssClass

定义要应用到被渲染 form 元素的 CSS 类

cssStyle

定义要应用到被渲染 form 元素的 CSS 样式

htmlEscape

接受 true 或者 false,表示被渲染的值是否应该进行 HTML 转义

modelAttribute

暴露表单支持对象的模型属性名称,默认为 command

2.input标签:input 标签渲染<input type="text"/>元素。
#input 标签的属性:

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖

cssClass 属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义

path

要绑定的属性路径

3.password 标签:password 标签渲染<input type="password"/>元素,password 标签与 input标签相似,只不过它有一个 showPassword 属性。
#password 标签的属性:

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义

path

要绑定的属性路径

showPassword

表示应该显示或遮盖密码,默认值为 false

4.hidden标签:hidden 标签渲染<input type="hidden"/>元素。hidden 标签与 input 标签相似,只不过它没有可视的外观,因此不支持cssClass 和 cssStyle 属性
#hidden 标签的属性

属性

描述

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义

path

要绑定的属性路径

5.textarea标签:textarea 标签渲染一个 HTML 的 textarea 元素。Textarea 实际上就是支持多行输入的一个input 元素。
#textarea 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义

path

要绑定的属性路径

6.checkbox 标签:checkbox 标签渲染<input type="checkbox"/>元素。
#checkbox标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

label

要作为标签用于被渲染复选框的值

path

要绑定的属性路径

7.radiobutton标签:radiobutton 标签渲染<input type="radio"/>元素。
#radiobutton标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

label

要作为标签用于被渲染复选框的值

path

要绑定的属性路径

8.checkboxes标签:checkboxes 标签渲染多个<input type="checkbox"/>元素。

#checkboxes 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

delimiter

定义两个 input 元素之间的分隔符,默认没有分隔符

element

给每个被渲染的 input 元素都定义一个 HTML 元素,默认为“span”

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

items

用于生成 input 元素的对象的 Collection、Map 或者 Array

itemLabel

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供标签

itemValue

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供值

path

要绑定的属性路径

9.radiobuttons 标签:radiobuttons 标签渲染多个<input type="radio"/>元素。
#radiobuttons 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

delimiter

定义两个 input 元素之间的分隔符,默认没有分隔符

element

给每一个被渲染的 input 元素都定义一个 HTML 元素,默认为“span”

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

items

用于生成 input 元素的对象的 Collection、Map 或者 Array

itemLabel

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供标签

itemValue

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供值

path

要绑定的属性路径

10.select 标签:select 标签渲染一个HTML 的 select 元素。被渲染元素的选项可能来自赋予其 items 属性的一个 Collection、Map、Array,或者来自一个嵌套的 option 或者 options 标签。
#select 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

items

用于生成 input 元素的对象的 Collection、Map 或者 Array

itemLabel

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供标签

itemValue

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供值

path

要绑定的属性路径

11.option 标签:option 标签渲染 select 元素中使用的一个HTML 的 option 元素。
#option 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

12.options 标签:options 标签生成一个 HTML 的 option 元素列表。
#options 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

cssErrorClass

定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass

属性值

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

items

用于生成 input 元素的对象的 Collection、Map 或者 Array

itemLabel

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供标签

itemValue

item 属性中定义的 Collection、Map 或者 Array 中的对象属性,为每个 input 元素提供值

13.errors 标签:errors 标签渲染一个或者多个 HTML 的span 元素,每个 span 元素中都包含一个字段错误。这个标签可以用于显示一个特定的字段错误,或者所有字段错误。
#errors 标签的属性

属性

描述

cssClass

定义要应用到被渲染 input 元素的 CSS 类

cssStyle

定义要应用到被渲染 input 元素的 CSS 样式

属性

描述

Delimiter

分隔多个错误消息的分隔符

element

定义一个包含错误消息的 HTML 元素

htmlEscape

接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义

path

要绑定的错误对象路径

猜你喜欢

转载自blog.csdn.net/qq_36173187/article/details/80015508