2011-06-23 49 views
14

進出口新的Grails中(1.3.7)和我試着去得到的東西的工作:GSP:檢查是否模型(變量)爲空不工作

在我的控制,我還給我想幾個列表在我的gsp中訪問。訪問作品,但我只想訪問他們,如果他們不是空的。檢查列表是否爲空不起作用。

這裏是我的控制器還給:

return new ModelAndView("https://stackoverflow.com/questions/questions", [ questionsList101 : allQuestions101, questionsList102 : allQuestions102, ... ])

allQuestions對象是 「高清allQuestions ..」 含問題的對象(數據庫,對象)

我現在GSP我嘗試如下:

<g:if test="${!empty questionsList101}"> 101:<br/> 
<g:each in="${questionsList101}" var="elem" status="i"> 
    <g:checkBox name="${questionsList101[i].id}" value="${questionsList101[i].id}"/>${questionsList101[i].id}<br/> 
</g:each> 
<br/> 
</g:if> 

該循環正在工作,空的檢查不是。我試着用「不空」,「!空」,......不知道什麼是錯的!任何幫助都是有好處的! :-)

回答

14

在GSP中,您在$ {}表達式中提供了全面的groovy支持。如果你願意,你可以對你的對象進行適當的方法調用。試試這個:

<g:if test="${questionsList101 != null && !questionsList101.isEmpty()}"> 
+0

我嘗試了第一個,它只適用於非空的列表 - 很有趣。否則,我會收到以下錯誤消息:處理GroovyPageView時出錯:執行標記時出錯:無法在空對象上調用方法isEmpty():-)對於其他方法也是如此。我不能調用它們,如果對象爲空 - 非常有趣.... – nano7

+0

看起來你只需要一個空檢查然後。我會更新我的答案。 –

+0

謝謝!這完美的作品! :-) – nano7