2012-04-18 73 views
1

我在Java EE Web應用程序中使用JSP 2.1。JSP c:不處理指令

我的JSP頁面是這樣的:

<html><body> 
<% String myText = (String) request.getAttribute("myText"); %> 
<h1><c:out value="${myText}"/></h1> 
</body></html> 

如果會將myText = 「H & B」,然後將生成的HTML頁面是:

<html><body> 
<h1><c:out value="h & b"/></h1> 
</body></html> 

這樣,C:出來說明有沒有被處理。

通過更換第一行:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jsp/jstl/core"> 

沒有幫助;仍然是同樣的問題。

如果我添加下面一行在JSP頁面的頂部:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

或者這一個:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 

我收到以下錯誤: 沒有標籤庫可以發現與此URI。可能的原因可能是URI不正確,或者在解析.tld文件時出現錯誤。

是什麼問題?

ps:我應該閱讀哪些文檔? 我正在閱讀JSP 2.1規範,但我沒有找到答案。 http://download.oracle.com/otn-pub/jcp/jsp-2.1-fr-eval-spec-oth-JSpec/jsp-2_1-fr-spec.pdf

回答

1

你需要在你的類路徑中有一個JSTL實現。你可以例如下載an implementation from Apache

+0

是的,taglib聲明行必須在那裏。正確的是<%@ taglib uri =「http://java.sun.com/jstl/core」prefix =「c」%>' – 2012-04-18 09:09:19

+0

很好,添加了<%@ taglib uri =「http:// java.sun.com/jsp/jstl/core」前綴= 「C」 %>和JSTL依賴性的pom.xml正常工作 \t JSTL \t JSTL \t 1.2 2012-04-18 10:59:19

+0

的taglib聲明對於jstl1.1 +是http://java.sun.com/jsp/jstl/core – 2012-04-18 11:00:01