2009-12-24 105 views
3

我通過jspc的ant任務預編譯了一些jsp文件,但內置失敗。預編譯jsp文件發生異常

errers: info.jsp(35,2)的屬性前綴FN不對應於任何導入標記庫

info.jsp線35:

<c:if test="${fn:length(requestScope.checkDetailInfoList) gt 1}"> 

螞蟻任務XML:

<jasper validateXml="false" uriroot="${basedir}/WebRoot" 
      webXmlFragment="${dir.WEB-INF}/generated_web.xml" 
      outputDir="${dir.WEB-INF}/src" /> 

我該如何糾正?

回答

4

您需要確保jsp文件導入JSTL的fn名稱空間。你需要一條線,看起來像這樣在你的JSP文件:

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

此外,你需要確保JSTL罐(jstl.jarstandard.jar)在你的classpath時碧玉試圖編譯。

+0

我在包含info.jsp的父頁面添加fn「taglib」, 必須在每個頁面中聲明taglib?但info.jsp頁面在tomcat上正確運行 – 2009-12-24 08:46:12

+0

@ Diablo.Wu:您應該包含taglib在每個使用它的頁面中。 – Asaph 2009-12-24 13:47:12

2

亞薩的評論是現貨。

還有一點需要檢查:<fn>標記集是JSTL庫的後續版本。也許你有舊版本的jstl.jar和standard.jar需要更新。