我在控制器中调用索引方法
def index() {
childInstance = Child.get(params.id)
if(childInstance){
System.out.println("CHILD" + childInstance.firstname)
def messages = currentUserTimeline()
[profileMessages: messages,childInstance:childInstance]
} else {
def messages = currentUserTimeline()
[profileMessages: messages]
System.out.println("ALL")
}
}
在gsp页面中我有
${childInstance.firstname}
如果我传递一个childInstance这很好但是如果我不这样做因为空指针而得到一个500是有一种方法我可以在gsp中做一个if语句所以我可以这样做
if(childInstance){
${childInstance.firstname}
} else {
All
}
答案 0 :(得分:40)
您可以使用g:if
,g:elseif
和g:else
:
<g:if test="${name == 'roberto'}">
Hello Roberto!
</g:if>
<g:elseif test="${name == 'olga'}">
Hello Olga!
</g:elseif>
<g:else>
Hello unknown person!
</g:else>
答案 1 :(得分:5)
比<g:if>
更简洁的解决方案是使用安全解除引用运算符?
${childInstance?.firstName}
如果childInstance
不为空,将显示第一个名称,如果为空,则显示任何内容。
答案 2 :(得分:3)
<g:if test="${ childInstance }">
${ childInstance.firstName }
</g:if>