Spring 提供的 JSP 标签库
1 表单绑定标签库
- 可以绑定一个模型的对象到注册表单,表单中的某些标签可以通过这个模型对象的属性进行填充。
- 提供一个展现错误的标签
使用声明
1 | <%-- tags/form, 并且声明前缀为 sf,即 Spring Form--%> |
具体的 JSP 表单
1 | <sf:form method="POST" commandName="user"> |
sf:form
标签会渲染一个 HTML <form>
标签, 通过 commandName
绑定模型中的一个对象,key 为 user
, 这个对象的属性会被其他标签引用
<sf:input>
标签会渲染一个 HTML <input>
标签 ,type
为 text,path
的值,会被渲染成该 <input>
标签的 value
属性的值
当然也可以在 <sf:input>
标签中指定 type
属性
1 | Email: <sf:input path="email" type="email" /><br/> |
控制器方法 — 注册 GET 方法, 模型中必须添加一个 User 对象
1 | "/register", method = RequestMethod.GET) (value = |
在校验失败后,表单中会预先填充之前输入的值。是在 POST 方法,是直接返回的注册视图实现的, GET 方法中添加 User 对象,只是为了初始展示注册试图 JSP不报错
展现错误
如果存在校验错误的话,请求中会包含错误的详细信息,这些信息是与模型数据放到一起的。我们所需要做的就是到模型中将这些数据抽取出来,并展现给用户。
1 | <%-- path 属性指定要显示模型对象属性 firstName 的错误信息 --%> |
如果有验证错误的话, 会渲染成一个个HTML <span>
标签,显示错误信息。
为每个输入域设置cssErrorClass
属性,着重显示需要修正的输入域,
1 | <sf:label path="firstName" cssErrorClass="labelerror">FirstName:</sf:label> |
现在已经为文本标记和输入域设置了样式,在有校验错误的时候, HTML 最终的 <label>
<input>
标签的 class
属性会被设置成相应的值,展示 CSS 样式
2 Spring 通用 JSP 标签库
使用声明
1 | <%-- tags, 并且声明前缀为 s,即 Spring--%> |
3 JSTL
JSTL 依赖
https://www.cnblogs.com/kouzikaile/p/7094571.html
https://blog.csdn.net/qq_22860341/article/details/79207665
1 | <!-- jstl --> |
4 Apache Tiles
1 | <dependency> |
==使用Apache Tiles 需要添加以上依赖及JSTL依赖==
如果提示包找不到,可能需要将相应的依赖从右边一刀左边的的lib目录下(Put into Output Root)
观察制品输出目录 Output directory 是否存在相应的包