当前位置: 首页 > 知识库问答 >
问题:

Spring Framework JSP标记是做什么的?

公西天逸
2023-03-14

我目前正在将一些HTML标记映射到我的JSP文件中的Spring标记。Spring MVC有两个标记库:Spring.tld和spring-form.tld

我理解表单标记库中定义的标记的描述,因此我知道要将哪些HTML标记映射到Spring表单标记。但是,我完全不知道如何使用Spring标记库。定义的标签和给出的描述如下:

    null

我一点也不明白这些描述。转义、主题、JSTL、绑定、嵌套路径、Spring表达式等--它们在谈论什么?

这些标签是做什么的?它们在我的JSP文件中替换了哪些标记?我尝试在网上搜索,但所有的搜索结果都是关于表单标记库(spring-form.tld)的,而不是我遇到麻烦的标记库(spring.tld)。

编辑:我正在从Struts1.1迁移到Spring4.1.6。部分步骤涉及到在JSP文件中转换到与Spring兼容的标记。原始JSP文件不包含任何taglib指令,所以我猜测原始代码中只使用了HTML标记。

共有1个答案

齐浩淼
2023-03-14

然后使用表单taglib轻松地将后端对象与表单的字段绑定。使用声明这些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编码而言。如果您不在应用程序中相应地使用它,它可能会引起一些安全问题。

为了声明TagLib的导入,您的JSPs头:

<%@ 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标记库导入用于处理管理员区域内的身份验证内容JSP:)

通过当前的官方文档了解这些世界。在“22.5JSP&JSTL”部分第555页中查看,并在spring:bindspring:message等文档中向前看。)

 类似资料:
  • JavaDoc说: 我知道 C# 中的 是什么,但这个标量和 C# 标量似乎完全不同。

  • 本文向大家介绍eval是做什么的?相关面试题,主要包含被问及eval是做什么的?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 它的功能是将对应的字符串解析成js并执行,应该避免使用js,因为非常消耗性能(2次,一次解析成js,一次执行)

  • 问题内容: 大约有一百万次问答,解释了诸如之类的选项,但是如果没有任何选择,它会自己做什么呢?它只是过滤标签吗? 问题答案: 根据PHP手册: 剥离标签,可选择剥离或编码特殊字符。 根据W3Schools: 过滤条或编码不需要的字符。 该过滤器将删除可能对您的应用程序有害的数据。它用于剥离标签并删除或编码不需要的字符。 现在,这并不能告诉我们太多。我们来看一些PHP源代码。 : 现在,让我们看看如

  • 问题内容: 我知道什么是标记接口-没有方法的接口。示例:可序列化,远程,可克隆。 我想知道标记界面的目的是什么。这是我的理解: 基本上只是从普通对象中识别特殊对象。像序列化的情况一样,需要序列化的对象必须实现可序列化的接口,并且线下的writeObject()方法必须检查某个地方是否为可序列化的实例。据我认为,那是writeObject使用接口serializable(标记接口)的唯一目的。对?还

  • 问题内容: 有时我会创建一个函数,稍后再调用该函数。 例: 不知何故,某些功能无法调用。我必须在内部调用这些函数: 做什么和意味着,什么是这些区别/目的是什么? 问题答案: 只是jQuery的简写 它的设计目的(除其他事项外)是确保一旦页面的所有DOM元素准备就绪即可使用您的函数。 但是,我不认为这是您遇到的问题-您能否弄清楚“以某种方式,某些函数无法调用,而我必须在内部调用这些函数”的意思吗?也

  • 我一直在努力学习什么是EJB bean,这意味着他们的实例在池中被管理,等等。真的不能很好地掌握它们。 你能给我解释一下它们到底是什么吗(实际上对于一个Java程序员来说)?他们是做什么的?他们的目的是什么?为什么要真正使用它们?(为什么不坚持?)也许是一个示例应用程序? 请仅参考更新的信息,即。关于EJB的过时信息可能具有误导性。 对于EJB学习初学者,请注意: EJB基于分布式对象,这是指运行