Grails GSP Safe Navigation Operator 会防范 "JSONObject$Null" 吗?
Will Grails GSP Safe Navigation Operator protect against "JSONObject$Null"?
在我的 Grails GSP 中,我有以下代码...
<div class="starshipStatus">${ship.engine.report?.substring(0,40)}... </div>
其中 'report' 成员有时可以有一个空值。我有时会在该页面上收到此异常...
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag <g:render>:
No such property: title for class:
org.codehaus.groovy.grails.web.json.JSONObject$Null
该异常是否源自该行或安全导航运算符('?')是否防止 "JSONObject$Null"?
Groovy 中的空安全运算符 ?
无助于避免此错误,因为 NULL
与 JSONObject.NULL
不同。后者是代表 NULL
值的实际对象,实际上并不是 NULL
.
但是你可以这样做:
<g:if test="${!ship.engine.report.equals(null)}">
...
</g:if>
在我的 Grails GSP 中,我有以下代码...
<div class="starshipStatus">${ship.engine.report?.substring(0,40)}... </div>
其中 'report' 成员有时可以有一个空值。我有时会在该页面上收到此异常...
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag <g:render>:
No such property: title for class:
org.codehaus.groovy.grails.web.json.JSONObject$Null
该异常是否源自该行或安全导航运算符('?')是否防止 "JSONObject$Null"?
Groovy 中的空安全运算符 ?
无助于避免此错误,因为 NULL
与 JSONObject.NULL
不同。后者是代表 NULL
值的实际对象,实际上并不是 NULL
.
但是你可以这样做:
<g:if test="${!ship.engine.report.equals(null)}">
...
</g:if>