- form 标签如何使用.
推荐结合 JSTL 标签一起使用.
使用 springMVC 的 form 标签库,渲染了原生的 HTML 标签元素.首先且最重要的一步是,在 jsp 文件中使用 tag 标签来引用 spring-form 的标签库,如:<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
.该文件的本地路径是在 webmvc 的 jar 包中,具体路径如下 :
spring-webmvc-4.3.22.RELEASE.jar
|__ ...
|__ META-INF
|__ ...
|__ spring-form.tld
以下表格中仅罗列部分常用的标签属性,参考完整属性可查阅 spring-form.tld 文件.
- 标签库概览
标签 | 对应 HTML 的标签或 Spring 中的对象 | 推荐 |
form |
| yes |
input |
| yes |
password |
| yes |
hidden |
| yes |
checkbox |
| yes |
checkboxs |
| no |
radiobutton |
| yes |
radiobuttons |
| no |
select |
| yes |
option |
| no |
options |
| no |
textarea |
| yes |
errors |
| yes |
- form:form 标签概览
- 渲染
<form action=""></form>
标签 - 自动绑定
Model
对象中的属性到 form 对应的实体对象,默认绑定的属性 key 名为command
- 提供除 GET 和 POST 的以外的 HTTP 请求,使用
methodParam
属性 - 常使用
commandName
来定制Model
对象中的属性,若不明确指定,默认值是command
- 若
Model
中不存在指定属性,则抛出异常,信息为Neither BindingResult nor plain target object for bean name 'command' available as request attribute
标签属性 | 描述 | 推荐 |
| Model 中绑定的属性,默认值是 command | yes |
| Model 中绑定的属性,默认值是 command | |
| 服务器接收的字符编码 | |
| 渲染 form 的 CSS 类 | yes |
| 渲染 form 的 CSS 样式 | |
| 是否对渲染的值进行 HTML 转义 | |
| HTTP 方法参数名,默认值 | yes |
- form:input 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 渲染 input 的 CSS 类 | yes |
| 渲染 input 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 |
- form:password 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 是否显示密码,默认值是 false | |
| 渲染 input 的 CSS 类 | yes |
| 渲染 input 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 |
- form:hidden 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 是否对渲染的值进行 HTML 转义 |
- form:checkbox 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 渲染 input 的 CSS 类 | yes |
| 渲染 input 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 | |
| 对应 label 标签的 value 值 |
- form:checkboxs 标签概览(不推荐使用)
标签属性 | 描述 |
| 绑定 JavaBean 的属性(必选) |
| 渲染 input 的 CSS 类 |
| 渲染 input 的 CSS 样式 |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 |
| 是否对渲染的值进行 HTML 转义 |
| 容器对象 Collection,Map,Array |
| input 元素对应的 label 元素的 value 值 |
| input 元素对应的 value 值 |
| 定义标签元素之间的分隔符,默认无 |
- form:radiobutton 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 渲染 input 的 CSS 类 | yes |
| 渲染 input 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 | |
| 对应 label 标签的 value 值 |
- form:radiobuttons 标签概览(不推荐使用)
标签属性 | 描述 |
| 绑定 JavaBean 的属性(必选) |
| 渲染 input 的 CSS 类 |
| 渲染 input 的 CSS 样式 |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 |
| 是否对渲染的值进行 HTML 转义 |
| 容器对象 Collection,Map,Array |
| input 元素对应的 label 元素的 value 值 |
| input 元素对应的 value 值 |
| 定义标签元素之间的分隔符,默认无 |
- form:textarea 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 渲染 textarea 的 CSS 类 | yes |
| 渲染 textarea 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 |
- form:select 标签概览
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 容器对象 Collection,Map 或者 Array | yes |
| 成员对应 label 的 value 值 | |
| 成员对应的 value 值 | |
| 渲染 textarea 的 CSS 类 | yes |
| 渲染 textarea 的 CSS 样式 | |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 | |
| 是否对渲染的值进行 HTML 转义 |
- form:option 标签概览(不推荐使用)
标签概览 | 描述 |
| 渲染 option 的 CSS 类 |
| 渲染 option 的 CSS 样式 |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 |
| 是否对渲染的值进行 HTML 转义 |
- form:options 标签概览(不推荐使用)
标签属性 | 描述 |
| 容器对象 Collection,Map 或者 Array |
| 成员对应 label 的 value 值 |
| 成员对应的 value 值 |
| 渲染 option 的 CSS 类 |
| 渲染 option 的 CSS 样式 |
| 绑定属性发生错误,覆盖 cssClass 的 CSS 类 |
| 是否对渲染的值进行 HTML 转义 |
- errors 标签概览
-
path="*"
表示所有的错误信息 -
path="abc*"
表示 abc 对象的所有属性的错误信息 -
path="abc.att"
表示 abc 对象的 att 属性的错误信息
标签属性 | 描述 | 推荐 |
| 绑定 JavaBean 的属性(必选) | yes |
| 设置用来渲染 errors 元素的 CSS 类 | yes |
| 设置用来渲染 errors 元素的 CSS 样式 | |
| 定义标签元素之间的分隔符,默认无 | |
| 是否对渲染的值进行 HTML 转义 |