我的数据库中有一些值,如果尚未输入,则可以为null.
但是当我在我的html中使用Thymeleaf时,它在解析空值时会出错.
有办法处理这个吗?
当然有.例如,您可以使用条件表达式.例如:
<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty} : 'null value!'">someValue</span>
你甚至可以省略"else"表达式:
<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty}">someValue</span>
您还可以查看Elvis运算符以显示默认值.
这也可以使用elvis运算符 来处理,该运算符?:
将在字段为null时添加默认值:
<span th:text="${object.property} ?: 'default value'"></span>
您可以将'th:if'与'th:text'一起使用
<span th:if="${someObject.someProperty != null}" th:text="${someObject.someProperty}">someValue</span>
您在创建时已完成两次检查
${someObject.someProperty != null} ? ${someObject.someProperty}
你应该干净简单,如下所示.
<td th:text="${someObject.someProperty} ? ${someObject.someProperty} : 'null value!'"></td>
<p data-th-text ="${#strings.defaultString(yourNullable,'defaultValueIfYourValueIsNull')}"></p>
最短的方法是使用'?' 运营商.如果您具有嵌入地址实体的用户实体以访问地址实体的字段并在地址不为空时打印它们,否则这将是一个空列:
<td th:text="${user?.address?.city}"></td>