grails - 检查 View 中变量是否为空

标签 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 }

种东西?如果可以,该怎么办?

最佳答案

请记住,您在Groovy中使用了安全导航运算符- ?。

如果输入:

${res?.result}

如果res为空,它将避免NPE并仅停止进一步评估。最好在 Controller 中调用Person.get(id)并在与 View 关联的模型中设置结果。它将允许您更改 Controller 行为(例如,从缓存而不是数据库中读取数据)而无需更改 View 。

关于grails - 检查 View 中变量是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26291671/

相关文章:

regex - 如何使用正则表达式在字符串中查找模式的所有匹配项

Groovy 加载 .csv 文件

grails - GSP中的双重关闭失败

unit-testing - 使用闭包对 GORM 调用进行单元测试

grails - 从 grails 2.3.8 2.4 升级时出现资源插件错误

grails - 如何在Grails应用程序中为应用程序的生命周期保存变量

jquery - Geb测试:缺少表单元素

grails - 在删除父行中出现grails外键错误

grails - 如何在字符串bean中将html标签作为g:render标签的模型传递

grails - 异常:Grails标记[g:applyLayout]未关闭