0

我有一个带有以下语句的简单测试页面,但似乎 ${} 标记没有被 Tomcat 处理,并且我在日志中没有错误。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL Test Example</title>
<body>
Setting value using c:out <c:set var="name" scope="request" value="Testing" /><br>
Value is: <b><c:out value="${name}"/></b><br>
</body>
</html>

浏览器输出:使用 c:out 设置值 值为:${name}

使用来自https://stackoverflow.com/tags/jstl/info的信息 我验证了 1) Tomcat lib 有 jstl.2 jar,没有重复的 jar - 如果我删除这个 jar,我会遇到一个很大的异常,抱怨缺少标签类. 2) 我的 webapp 在类路径中没有 jstl jar。3) Tomcat web.xml 具有正确的 servlet 规范

<web-app 
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"                   
version="2.5">

任何帮助将不胜感激。谢谢

4

1 回答 1

0

他们可能是jsp-api jar的冲突

从 tomcat 库中删除 jstl.version.jar

并在您的项目中直接添加依赖项

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

并尝试!

于 2013-06-03T04:49:07.280 回答