我一直在查看Spring MVC教程并从那里复制了这个小的JSP代码:
<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Training, Inc.</title></head>
<body>
<h2><c:out value="${message}" /></h2>
</body>
</html>
为消息设置了一个字符串,c:out标签只是按字面打印
$ {消息}
我一直在打我的头,直到我记得我之前遇到的一个问题并将taglib URI更改为:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
这解决了我的小问题
前段时间我在XSLT转换方面遇到了类似问题,但在这种情况下,我必须从 http://java.sun.com/jstl/xml 更改为 http://java.sun.com/jsp/jstl/xml
根据这个link我的春天的例子应该像我从春季教程中粘贴一样工作
问题是: 你们中的任何人都知道这些taglib URI混淆的记录在哪里?为什么在某些情况下我从http://java.sun.com/jsp/jstl获得了最新版本,而在其他版本中我从http://java.sun.com/jstl获得了最后一个版本
答案 0 :(得分:2)
是的,众所周知,taglibs的URI在JSTL版本1.0和1.1之间发生了变化。如果您碰巧得到使用旧标准的示例并尝试将它们与新的taglib JAR一起使用,那么您将遇到此问题。
答案 1 :(得分:2)
如果您仍然遇到此错误,但是您正在手工制作您的pom,那么您可能错过了标准库。 例如我错过了
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>${jstl.version}</version>
</dependency>