2009-12-10 41 views
3

我正在嘗試使用JSPX(用於JSP的純XML語法)並運行它似乎應該工作,但沒有運行。我在jsp中使用的命名空間聲明導入庫:着意根元素,然後使用這些後來的元素以及EL功能:對於EL函數不可見的JSPX名稱空間?

<jsp:root version="2.0" 
    xmlns:jsp="http://java.sun.com/JSP/ 
    xmlns:c="urn:jsptld:/WEB-INF/tld/c.tld" 
    xmlns:fn="urn:jsptld:/WEB-INF/tld/fn.tld"> 
    ... 
    <c:if test="${fn:length(list) &gt; 0"> 
     ... 
    </c:if> 
    ... 
</jsp:root> 

我得到一個異常說「的屬性前綴FN不對應任何導入標籤庫「。其他頁面可以正常工作,但這個頁面的不同之處在於它使用了標籤庫中包含的幾個EL功能。

是否有我需要的不同種類的導入將這些taglib前綴帶入EL函數調用可見的範圍中?

回答

4

爲什麼不使用完整的TLD URI?您可以找到有效的JSTL TLD URI的概述(點擊您感興趣的任何JSTL taglib以獲取有效的聲明示例)。

可以肯定的:你在classpath中放置JSTL JAR文件(S)(jstl.jar和/或standard.jar,取決於JSTL版本,直到1.1,這既是和1.2,這只是jstl.jar)和你沒有提取它們,也沒有混亂的類路徑和/或web.xml鬆散的文件和聲明,因爲一些不良的在線教程說?

+1

你是專注的。幾年前,我們公司聘請了一些顧問來建立一個門戶網站。看完你的評論後,我走了,看得更仔細。原來,他們已經將JSTL TLD文件抽出到WEB-INF下的一個文件夾中。刪除這些內容並更改命名空間導入以使用完整的URL修復了問題。 – 2009-12-11 00:35:29

+0

不客氣。 – BalusC 2009-12-11 01:27:18

+0

我覺得這個特別的問答交流現在是一個普遍的問題(超過1000次瀏覽),而兩年後它仍然評爲0。 – 2011-12-02 16:05:04

相關問題