Spring Framework JSP标记有什么作用?
我目前将一些HTML标签映射到我的JSP文件中的Spring标签。 Spring MVC有两个标记库:spring.tld和spring-form.tld
我了解表单标记库中定义的标记的描述,因此我知道哪些HTML标记要映射到Spring表单标记。 但是,我不知道如何使用Spring Tag Library。 定义的标签和给定的描述如下:
我丝毫不理解这些描述。 转义,主题,JSTL,绑定,嵌套路径,Spring表达式等 - 他们在说什么?
这些标签做什么? 他们在我的JSP文件中替换哪些标签? 我尝试在线搜索,但所有搜索结果都是关于表单标记库(spring-form.tld)而不是标记库(spring.tld),这是我遇到的问题。
编辑 :我正在从Struts 1.1迁移到Spring 4.1.6。 部分步骤涉及在JSP文件中转换为与Spring兼容的标记。 原始的JSP文件不包含任何taglib指令,所以我猜测只有原始代码中使用了HTML标签。
然后,使用表单taglib将您的后端对象与表单的字段轻松绑定。 宣布这些春天taglib
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
并在标签内使用它:
<form:form>
<table>
<tr>
<td>First Name:</td>
<td><form:input path="user.firstName"/></td>
</tr>
<tr>
<td>Last Name:</td>
<td><form:input path="user.lastName"/></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Save!"/>
</td>
</tr>
</table>
</form:form>
转义是与特殊字符的HTML编码相关的。 如果您不在应用程序中相应使用它,可能会引发一些安全问题。
消息与i18n相关:您可以轻松构建一些国家/地区之间的区域设置切换器。 检索所有翻译的方法是使用该taglib。
主题是相对于你的web应用程序的外观和感觉。 您可以使用这些taglib为最终用户构建一个轻松的主题切换器。
绑定相对于您的视图中处理来自DTO的许多字段,特别是在您提交表单时。
JSTL是处理JSP中许多事情的一种方式,在Spring-taglibs开发多年之前就已经开发出来了。 JSTL保持有效选择,但在视图层开发的较低级别。 做同样的工作会更长,也许更难。
对于您的JSP标头,以声明您的taglib的导入:
<%@ page language="java" contentType="text/html; charset=UTF-8" isELIgnored="false" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@page session="true"%>
当然,这只是一个例子,带来了一个好处:在管理员区域内,处理认证内容的spring-security taglib导入JSP :)
用当前的官方文档发现这些世界。 查看“22.5 JSP&JSTL”部分的第555页,并期待在文档spring:bind
或spring:message
等内容中找到需要了解的东西:)