我是grails(1.3.7)的新手,我试图让某些东西起作用:
在我的控制器中,我回放了一些我希望在gsp中访问的列表。访问作品,但我只想访问它们,如果它们不是空的。检查列表是否为空不起作用。
这是我的控制器回馈的内容:
return new ModelAndView("/questions/questions", [ questionsList101 : allQuestions101, questionsList102 : allQuestions102, ... ])
allQuestions-objects是“def allQuestions ..”,包含Questions-Objects(Database-Object)
我的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>
循环正在工作,空虚的检查不是。我尝试了“不空”,“!空”,......不知道什么是错的!任何帮助是apreciated! : - )
答案 0 :(得分:35)
“最狂野”的方法是
<g:if test="${questionList101}">
在Groovy中,空对象和空集合被强制为false。请在此处查看有关Groovy真相的文档:http://groovy-lang.org/semantics.html#Groovy-Truth
答案 1 :(得分:14)
在GSP中,您在$ {}表达式中拥有完整的常规支持。如果需要,可以对对象进行适当的方法调用。试试这个:
<g:if test="${questionsList101 != null && !questionsList101.isEmpty()}">