内容关键词: 表单标签库中的标签
知识来源:720科技(张森鹏)
一、知识笔记
表单标签库:
表单标签库中包含了可以用在 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"/>元素。这个标签最重要的属性是 path,它将这个输入字段绑定到表单支持对象的一个属性。
input 标签的属性
属性 | 描述 |
cssClass | 定义要应用到被渲染 input 元素的 CSS 类 |
cssStyle | 定义要应用到被渲染 input 元素的 CSS 样式 |
cssErrorClass | 定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 |
htmlEscape | 接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义 |
path | 要绑定的属性路径 |
(3)password 标签
password 标签渲染<input type="password"/>元素, password 标签与 input标签相似,只不过它有一个 showPassword 属性。
<form:password id="pwd" path="password" cssClass="normal"/>
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 属性。
<form:hidden path="productId"/>
hidden 标签的属性
属性 | 描述 |
htmlEscape | 接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义 |
path | 要绑定的属性路径 |
(5)textarea 标签
textarea 标签渲染一个 HTML 的 textarea 元素。Textarea 实际上就是支持多行输入的一个input 元素。
<form:textarea path="note" tabindex="4" rows="5" cols="80"/>
textarea 标签的属性
属性 | 描述 |
cssClass | 定义要应用到被渲染 input 元素的 CSS 类 |
cssStyle | 定义要应用到被渲染 input 元素的 CSS 样式 |
cssErrorClass | 定义要应用到被渲染 input 元素的 CSS 类,如果 bound 属性中包含错误,则覆盖 cssClass |
htmlEscape | 接受 true 或者 false,表示是否应该对被渲染的值进行 HTML 转义 |
path | 要绑定的属性路径 |
(6)checkbox 标签
checkbox 标签渲染<input type="checkbox"/>元素。
<form:checkbox path="outOfStock" value="Out of Stock"/>
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 标签绑定到 newsletter 属性。
Computing Now <form:radiobutton path="newsletter" value="Computing Now"/>
<br/>
Modern Health <form:radiobutton path="newsletter" value="Modern Health"/>
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标签允许进行多个选择。
<form:checkboxes path="category" items="${categoryList}"/>
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"/>元素。
每次只能选择一个单选按钮。
<form:radiobuttons path="category" items="${categoryList}"/>
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 标签绑定到表单支持对象的 category 属性的 id 属性。它的选项来自
model 属性 categories。每个选项的值均来自 categories collection/map/array 的 id 属性,它的标签来自 name 属性。
<form:select id="category" path="category.id"
items="${categories}" itemLabel="name"
itemValue="id"/>
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 标签显示了所有字段错误。
<form:errors path="*"/>
下面的 errors 标签显示了一个与表单支持对象的 author 属性相关的字段错误。
<form:errors path="author"/>
errors 标签的属性
属性 | 描述 |
cssClass | 定义要应用到被渲染 input 元素的 CSS 类 |
cssStyle | 定义要应用到被渲染 input 元素的 CSS 样式 |
Delimiter | 分隔多个错误消息的分隔符 |
element | 定义一个包含错误消息的 HTML 元素 |
htmlEscape | 接受 true 或者 false,表示是否应该对被渲染的(多个)值进行 HTML 转义 |
path | 要绑定的错误对象路径 |
数据绑定:
数据绑定是将用户输入绑定到领域模型的一种特性。