以下是person.gsp
<g:set var="res" value="${ Person.get(personInstance.id) }" />
${ res.result }
我收到以下错误消息。
Cannot get property 'result' on null object
如何进行验证以检查result
本身null
是否为view
?
注意:我不想从controller
更新
我能做一个
吗?<g:if........${ Person.get(personInstance.id) } NOT EQUAL TO NULL THEN
<g:set var="res" value="${ Person.get(personInstance.id) }" />
${ res.result }
有点像什么?如果是这样怎么办?
答案 0 :(得分:2)
请记住,您在Groovy中有安全导航运算符 - ?
如果输入:
${res?.result}
如果res为null,它将避免NPE并简单地停止进一步评估。我也是一个很好的做法,在控制器中调用Person.get(id)并将结果设置在与视图关联的模型中。它允许您更改控制器行为(例如,从缓存而不是数据库读取)而不更改视图。
答案 1 :(得分:-1)
<g:if test="${Person.get(personInstance.id) != null}">
<g:set var="res" value="${ Person.get(personInstance.id) }" />
${ res.result }
</g:if>
这很有用。