Защитит ли оператор безопасной навигации Grails GSP от "JSONObject $ Null"? - PullRequest
0 голосов
/ 07 ноября 2018

В моем GSP Grails у меня есть следующий код ...

<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"?

1 Ответ

0 голосов
/ 07 ноября 2018

Нулевой безопасный оператор ? в Groovy не поможет избежать этой ошибки, поскольку NULL отличается от JSONObject.NULL. Последний является реальным объектом, который представляет значение NULL и на самом деле не NULL.

Однако вы можете сделать что-то вроде этого:

<g:if test="${!ship.engine.report.equals(null)}">
...
</g:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...