2010-09-01 61 views
0

如何訪問JSTL標記內的JSP標記屬性值?在下面的代碼中,我想訪問url屬性並測試它是否爲空。我正在使用JSTL 1.0規範。在JSTL中訪問JSP標記的屬性

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<%@ attribute name="url" required="false"%> 

<c:if test="${!empty url}"> 
    ... 
</c:if> 

回答

0

如果您正在創建標記文件,那麼您至少使用了JSP 2.0--這意味着您應該至少使用JSTL 1.1。無論如何,attribute指令應創建一個與其name屬性具有相同名稱的頁面作用域變量(除非它是可選的並且未提供)。那麼,你能提供關於你正在觀察的錯誤和/或輸出的更多細節嗎?

+0

當然。當我執行引用標籤的.JSP時,對於前面提到的代碼(稱爲url.tag),我會收到下面的錯誤消息。 url屬性被設置/提供給標籤。 錯誤:oracle.jsp.parse.JspParseException:/WEB-INF/tags/url.tag:第9行, 錯誤:不支持表達式語言編譯時間屬性測試 – Ted 2010-09-01 02:13:55

+0

更新到JSTL 1.1(請注意taglib uris)並確保您的web.xml匹配您的容器支持的最新servlet版本。您使用的是哪個應用程序服務器(包括其版本)? – kschneid 2010-09-01 03:40:44

+0

感謝您的建議。在將JSTL更新到1.1.2之後,代碼將起作用。 – Ted 2010-09-02 15:00:12