我目前正在将一些HTML标签映射到我的JSP文件中的Spring标签。 Spring MVC有两个标记库:spring.tld和spring-form.tld
我理解表单标记库中定义的标记的描述,因此我知道要映射到Spring Form标记的HTML标记。但是,我根本不知道如何使用Spring Tag Library。定义的标签和给定的描述如下:
我一点也不理解这些描述。转义,主题,JSTL,绑定,嵌套路径,Spring表达式等 - 他们在谈论什么?
这些标签有什么作用?他们在我的JSP文件中替换了哪些标签?我尝试在线搜索,但所有搜索结果都是关于表格标签库(spring-form.tld)而不是标签库(spring.tld),这是我遇到问题的那个。
编辑:我将从Struts 1.1迁移到Spring 4.1.6。部分步骤涉及在JSP文件中转换为Spring兼容标记。原始JSP文件不包含任何taglib指令,因此我猜测原始代码中只使用HTML标记。
答案 0 :(得分:0)
然后使用表单taglib轻松地将您的后端(s)对象与表单的字段绑定。用
声明这些spring 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。
主题与您的网络应用程序的外观相关。您可以使用这些taglib为最终用户构建一个轻松的主题切换器。
绑定与您在视图中处理DTO中的许多字段有关,尤其是在您提交表单时。
JSTL是一种处理JSP中很多东西的方法,它是在spring-taglib之前很多年开发的。 JSTL仍然是一个有效的选择,但在视图层开发的较低级别。做同样的工作会更长,也许更难。
对于JSPs标头,以声明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"%>
当然这只是一个例子,有一个额外的好处:在管理员区域JSP中处理身份验证内容的spring-security taglib导入:)
使用current official documentation发现这些世界。
查看“22.5 JSP&amp; JSTL”部分第555页,并期待文档spring:bind
或spring:message
等。
你会发现你需要了解一切:)