2016-04-27 67 views
1

thymeleaf 2.1.4,与Thymeleaf嵌入式文本显示为空字符串为 '空'

<p th:inline="text">[[${bean.myNullvar}]]</p> 

评估空字符串值时概述HTML是

<p>null</p> 

当我用它th:text它能正常工作:

<p th:text="${myNullvar}"></p> 

被概括为:

<p></p> 

¿有什么办法来呈现空字符串值作为空的内联带? ¿它如何在Thyeleaf 3中工作,默认内联处于活动状态?

在此先感谢

+0

在你的第一个例子中,你的变量是**在p-tag中;在第二个它不是。 –

+0

这两种情况都是thymeleaf的有效用法,但第一种情况会将null呈现为“null”而不是空字符串。我想知道是否有任何方法可以使内联工作像明确的th:text值为空值。 – Basa

+0

不知道如何把这个:这两个陈述几乎“可比”。请了解“属性值”和“innerHTML”之间的区别。 –

回答

4

Thymeleaf有一些字符串实用方法,你可以尝试

这里是空安全的toString。

${#strings.toString(obj)} 
+0

谢谢!我会尝试[[$ {#strings.toString(obj)}]](详细但cohernet与我如何创建我的模板) – Basa

+1

@Basa没有问题。这是Thymeleaf支持的所有字符串实用程序方法的链接。 http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#strings – ndrone

+2

我已经尝试过expresion,但只检查值为$ {#strings.toString(emnployee.name)之前的bean, } == $ {employee?.name}。然而,有这样的工作是有利的:$ {#strings.defaultString(obj,'')}。再次感谢@ndrone。 – Basa