• 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

<form action=""></form>

yes

input

<input type="text" />

yes

password

<input type="password" />

yes

hidden

<input type="hidden" />

yes

checkbox

<input type="checkbox" />

yes

checkboxs

<input type="checkbox" />+

no

radiobutton

<input type="radio" />

yes

radiobuttons

<input type="radio" />+

no

select

<select name="" id=""></select>

yes

option

<option value=""></option>

no

options

<option value=""></option>+

no

textarea

<textarea name="" id="" cols="30" rows="10"></textarea>

yes

errors

org.springframework.validation.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

标签属性

描述

推荐

commandName

Model 中绑定的属性,默认值是 command

yes

modelAttribute

Model 中绑定的属性,默认值是 command

acceptCharset

服务器接收的字符编码

cssClass

渲染 form 的 CSS 类

yes

cssStyle

渲染 form 的 CSS 样式

htmlEscape

是否对渲染的值进行 HTML 转义

methodParam

HTTP 方法参数名,默认值_method

yes

  • form:input 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

cssClass

渲染 input 的 CSS 类

yes

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:password 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

showPassword

是否显示密码,默认值是 false

cssClass

渲染 input 的 CSS 类

yes

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:hidden 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:checkbox 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

cssClass

渲染 input 的 CSS 类

yes

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

label

对应 label 标签的 value 值

  • form:checkboxs 标签概览(不推荐使用)

标签属性

描述

path

绑定 JavaBean 的属性(必选)

cssClass

渲染 input 的 CSS 类

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

items

容器对象 Collection,Map,Array

itemLabel

input 元素对应的 label 元素的 value 值

itemValue

input 元素对应的 value 值

delimiter

定义标签元素之间的分隔符,默认无

  • form:radiobutton 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

cssClass

渲染 input 的 CSS 类

yes

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

label

对应 label 标签的 value 值

  • form:radiobuttons 标签概览(不推荐使用)

标签属性

描述

path

绑定 JavaBean 的属性(必选)

cssClass

渲染 input 的 CSS 类

cssStyle

渲染 input 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

items

容器对象 Collection,Map,Array

itemLabel

input 元素对应的 label 元素的 value 值

itemValue

input 元素对应的 value 值

delimiter

定义标签元素之间的分隔符,默认无

  • form:textarea 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

cssClass

渲染 textarea 的 CSS 类

yes

cssStyle

渲染 textarea 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:select 标签概览

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

items

容器对象 Collection,Map 或者 Array

yes

itemLabel

成员对应 label 的 value 值

itemValue

成员对应的 value 值

cssClass

渲染 textarea 的 CSS 类

yes

cssStyle

渲染 textarea 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:option 标签概览(不推荐使用)

标签概览

描述

cssClass

渲染 option 的 CSS 类

cssStyle

渲染 option 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • form:options 标签概览(不推荐使用)

标签属性

描述

items

容器对象 Collection,Map 或者 Array

itemLabel

成员对应 label 的 value 值

itemValue

成员对应的 value 值

cssClass

渲染 option 的 CSS 类

cssStyle

渲染 option 的 CSS 样式

cssErrorClass

绑定属性发生错误,覆盖 cssClass 的 CSS 类

htmlEscape

是否对渲染的值进行 HTML 转义

  • errors 标签概览
  • path="*"表示所有的错误信息
  • path="abc*"表示 abc 对象的所有属性的错误信息
  • path="abc.att"表示 abc 对象的 att 属性的错误信息

标签属性

描述

推荐

path

绑定 JavaBean 的属性(必选)

yes

cssClass

设置用来渲染 errors 元素的 CSS 类

yes

cssStyle

设置用来渲染 errors 元素的 CSS 样式

delimiter

定义标签元素之间的分隔符,默认无

htmlEscape

是否对渲染的值进行 HTML 转义