2013-06-03 43 views
0

我有一個簡單的測試頁面,下面的語句顯示$ {}標記沒有被Tomcat處理,並且我在日誌中沒有出現錯誤。Tomcat 6.0.37不處理jstl標記語句

<%@ 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值:出 值是:$ {name}的

使用信息,從https://stackoverflow.com/tags/jstl/info 我驗證 1)Tomcat的lib有jstl.2罐子,有沒有重複的罐子 - 如果我刪除這個罐子,我得到一個很大的異常,抱怨丟失標籤類。 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

我錯過了servlet 2.5聲明。它正在工作。對困惑感到抱歉。 jstl上的堆棧溢出信息鏈接在再次檢查時確認了這一點。 – sriram

+0

將您的評論發佈爲答案,並在兩天內用綠色支票標記。 –

回答

0

他們可能是JSP的API的JAR文件的衝突

刪除jstl.version.jar從Tomcat的lib

和直接添加依存性項目

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

試試吧!