SpringMVC实战(三)——自带标签库

该文章基于《Spring+MyBatis企业应用实战》进行总结,旨在积累巩固

表单标签库

如果想要使用SpringMVC自带标签库,需要在开头声明:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

form标签自动绑定一个属性值到当前form对应的实体对象(默认为command),可以通过ModelAttribute重写默认属性。
这一章比较简单,每个标签个一个小Demo:
input

<form:input path="domain的属性名">

password

<form:password path="domain的属性名"/>

hidden

<form:hidden path="domain的属性名"/>

checkbox
如果该属性已经存在,则默认已经选上

<form:checkbox path="domain的属性名" label="复选框的值">

checkboxes

"${Model中Collections的属性}" path="domain的属性名"

对于Map类型的Collection来说,key值为标签的value值,value值为标签的label值,但是需要注意HashMap是乱序的

radiobutton

<form:radiobutton path="domain属性名"/>

radiobuttons

"domain属性值" items="${传入的Collection}"/>

其规则同checkboxes
select、option/options

<form:select path="domain的属性名">
    <form:options items="${Collections变量}"/>
form:select>

<form:select path="domain的属性名" items="{Model中的Collection}"/>

errors
该标签需要与@InitBinder标签进行组合使用:

<form:errors path="domain的属性名"/>

简单进行总结一下,其实SpringMVC的自带标签库存在的目的就是1.设定默认值、2.方便迭代、3、显示错误
插个题外话,扯一下form标签中的enctype属性:
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码,该属性与HTTP报文中的Content-Type属性有什么联系我暂时还不是很了解,以后补充,该属性有三个可选值:

具体处理
text/plain 所有空格换为+不对特殊字符编码
application/x-www-urlencoded 对所有字符进行编码
multipart/form-data 不对字符编码,文件上传时必须使用该值

你可能感兴趣的:(SpringMVC实战)