java - jSTL的c :url tag?的目的是什么

标签 java jstl

TutorialPoint有一个简单的 c:url 标记示例,如下所示:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:url> Tag Example</title>
</head>
<body>
<a href="<c:url value="/jsp/index.htm"/>">TEST</a>
</body>
</html>

当使用 Chrome 的开发者工具查看相应的渲染时,它呈现如下:

<a href="/jsp/index.htm">TEST</a>

所以 c:url 标签似乎是多余的,但我确定我遗漏了什么?

最佳答案

正如 Tutorials Points 所说,这是为了格式化您输入的 URL 的目的,它可以存储在变量中。

例如你有这个:

<a href="<c:url value="/test.html"/>">TEST</a>

如果您点击测试,它将转到页面test.html .就那么简单。但问题是,<c:url value="/test.html"/> 的值(value)是多少? ?

您是否认为该值只是 /test.html

尝试测试它,像这样:

<a href="<c:url value="/test.html" var="testvar" />">TEST</a> // testvar is where you put the url formatted by c:url
<c:out value="${testvar}"/> // you print what is the formatted url

答案将是您项目的Context Folder加上您输入的URL

context/test.html 将是输出。

我认为它的目的是让 context (当前申请)已提供给 URL , 你只需要添加剩余的 URL部分。

关于java - jSTL的c :url tag?的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41456615/

相关文章:

Java JTextPane 斜体帮助

java - 从属性文件创建 Ant 本地属性

jsp - JSTL 条件检查

java - 如何将带有空格和括号的文本传递给java

java - 使用 "JSF"或 JSTL 标签迭代 java.util.Map 时出现问题

jsp - 计算c中所有数字的总和 :forEach loop

java - 如何在多页中打印一个大的 JPanel

java - 声明数组的元素最终(不仅仅是数组本身)

java - Windows 7 上不会为已安装的应用程序创建 hs_err_pid 文件

java - 如何使用jSTL、servlet在jsp中显示输出