当值为null时使用Thymeleaf

时间:2013-12-17 14:15:07

标签: html null thymeleaf

我的数据库中有一些值,如果尚未输入,则可以为null。

但是当我在我的html中使用Thymeleaf时,它在解析空值时会出错。

有没有办法解决这个问题?

10 个答案:

答案 0 :(得分:89)

最短的方法是使用'?'运营商。如果您有具有嵌入式地址实体的用户实体,以便访问地址实体的字段,并在地址不为空时打印它们,否则这里将是一个空列:

<td th:text="${user?.address?.city}"></td>

答案 1 :(得分:50)

当然有。例如,您可以使用conditional expressions。例如:

<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty} : 'null value!'">someValue</span>

您甚至可以省略“else”表达式:

<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty}">someValue</span>

您还可以查看Elvis operator以显示默认值。

答案 2 :(得分:10)

您可以将'th:if'与'th:text'一起使用

<span th:if="${someObject.someProperty != null}" th:text="${someObject.someProperty}">someValue</span>

答案 3 :(得分:7)

这也可以使用elvis operator ?:处理,当字段为空时,它将添加默认值:

<span th:text="${object.property} ?: 'default value'"></span>

答案 4 :(得分:5)

您在创建

时已完成两次检查
${someObject.someProperty != null} ? ${someObject.someProperty}

你应该干净简单,如下所示。

<td th:text="${someObject.someProperty} ? ${someObject.someProperty} : 'null value!'"></td>

答案 5 :(得分:5)

   <p data-th-text ="${#strings.defaultString(yourNullable,'defaultValueIfYourValueIsNull')}"></p>

答案 6 :(得分:2)

还值得参考#objects内置帮助程序的文档: https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#objects

有用:${#objects.nullSafe(obj, default)}

答案 7 :(得分:1)

我使用

<div th:text ="${variable != null} ? (${variable != ''} ? ${variable} : 'empty string message') : 'null message' "></div>

答案 8 :(得分:1)

您可以使用对我有用的此解决方案

<span th:text="${#objects.nullSafe(doctor?.cabinet?.name,'')}"></span>

答案 9 :(得分:0)

最短的方法!它对我有用 其中NA是我的默认值。

<td th:text="${ins.eValue!=null}? ${ins.eValue}:'NA'" />