如果视图中的变量为null,请检查

时间:2014-10-10 03:54:39

标签: grails groovy gsp

以下是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 }

有点像什么?如果是这样怎么办?

2 个答案:

答案 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>

这很有用。