2012-10-03 67 views
1

我想在我的AppEngine JSP中使用JSTL來呈現數據。我已經完成了Guestbook demo,這對我來說工作得很好,包括JSTL調用像這樣的(從鏈接的例子):AppEngine上的JSTL - 標記不起作用

<blockquote>${fn:escapeXml(greeting_content)}</blockquote> 

不過,我則試圖通過標籤,例如使用JSTL這樣的:

<fn:out value="greeting_content" /> 

或只是

<fn:out value="" /> 

我得到一個500錯誤和異常堆棧跟蹤說:

org.apache.jasper.JasperException: /guestbook.jsp(80,4) No tag "out" defined in tag library imported with prefix "fn" 

JSTL庫是在文件的頂部,進口該示例即

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

和預期的一樣,如果我刪除該行,$ {fn:something}調用將停止工作。

有沒有人有一個想法,爲什麼這是? JSTL應該這樣工作,不是嗎?我覺得我在這裏錯過了一些基本的東西,但我無法找到它是什麼。

回答

0

您應該使用<c:out value=""/>來輸出。

+0

,我沒有得到一個例外,但它只是沒有編譯。它只是在生成的原始HTML中顯示爲標記。請注意,Guestbook示例導入帶有前綴fn的JSTL:而不是c:如上所示。 – Chris

+0

添加此聲明:'<%@ taglib uri =「http://java.sun.com/jsp/jstl/core」prefix =「c」%>'。 FN不包含「out」方法。 – Alex

+0

這確實有效!我錯過的部分是導入jsp/jstl/functions,但不是jsp/jstl/core。非常感謝! – Chris