2011-07-21 31 views
2

我在使用grails編寫gsp頁面時遇到了問題。該頁面可以與JSTL核心taglib中的其他標籤正常工作,例如c:if,c:when。但是當我使用c:forEach進行循環時,我無法工作。以下是代碼片段:Grails是否支持在gsp頁面中使用JSTL core taglib中的「forEach」?

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
...... 
<c:forEach var="foo" items="${fooList}" varStatus="counter"> 
    ${counter.count}, ${foo} 
</c:forEach> 

來自Grails的錯誤顯示隱式對象計數器爲空。

Error 500: null 
Servlet: 
URI: 
Exception Message: Cannot get property 'count' on null object 
Caused by: Error evaluating expression [counter.count] on line [16]: Cannot get property 'count' on null object 

從Grails文檔中,據說JSP標籤是支持的。

== >> 「http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.3.6使用JSP標籤庫」

但我只是沒有得到c:forEach的工作,它作爲一個jsp頁面工作正常,而不是有一個gsp後綴。

Grails的版本:1.37 JDK:1.6.0_22

回答

8

這是更好的使用標準GSP的每個:

<g:each var="foo" in="${fooList}" status="counter"> 
    ${counter.count}, ${foo} 
</g:each> 
+0

謝謝,它應該是這樣做的首選方式。我只是在做一個遺留項目,並且想知道它是否被支持。 – xiaoxin

2

試試這個:

<g:each var="foo" in="${fooList}" status="counter"> 
    ${counter}, ${foo} 
</g:each> 

我是有這個同樣的問題... 然後我發現它是$ {counter}而不是$ {counter.count}來讓項目號碼顯示出來。