Tomcat 6.0.37不处理jstl标记语句

时间:2013-06-03 02:10:55

标签: jstl

我有一个简单的测试页面,其中包含以下语句,但似乎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">

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

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

从tomcat lib中删除jstl.version.jar

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

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

然后试试!