以下是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 }
种东西?如果可以,该怎么办?
最佳答案
请记住,您在Groovy中使用了安全导航运算符- ?。
如果输入:
${res?.result}
如果res为空,它将避免NPE并仅停止进一步评估。最好在 Controller 中调用Person.get(id)并在与 View 关联的模型中设置结果。它将允许您更改 Controller 行为(例如,从缓存而不是数据库中读取数据)而无需更改 View 。
关于grails - 检查 View 中变量是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26291671/