Jam*_*mes 23 spring spring-el thymeleaf
如果属性和属性存在,是否有一种简单的方法在百万富翁中显示属性属性的内容?如果我的html页面中存在属性"summary"的属性"error",我想展示它:
<span th:text="${error.summary}">error summary</span>
Run Code Online (Sandbox Code Playgroud)
如果没有属性"error",则会引发以下错误:
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Field or property 'summary' cannot be found on null
目前我正在使用以下方法,这似乎太复杂了.
<span th:if="${error != null and error.summary != null}"><span th:text="${error.summary}">error summary</span></span>
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来实现这一目标?
tdu*_*eau 51
当然!由于与th:if
属性关联的处理器具有比与属性关联的处理器更高的优先级th:text
,因此将首先评估它.这样你就可以写:
<span th:if="${error != null && error.summary != null}" th:text="${error.summary}">Static summary</span>
Run Code Online (Sandbox Code Playgroud)
您甚至可以使用以下方法缩短它:
<span th:text="${error?.summary}">Static summary</span>
Run Code Online (Sandbox Code Playgroud)
但我认为在这种情况下,无论摘要是否存在,都会创建span标记,这有点难看.
请参阅有关条件表达式的详细信息在这里.
归档时间: |
|
查看次数: |
61580 次 |
最近记录: |