Thymeleaf

时间:2016-02-18 08:48:16

标签: java html tags thymeleaf

我需要写文字:<td th:text="${ticket.eventName} + '<br />' + ${ticket.ticketType}">Event Name</td> 但由于Thymeleaf<br />会返回错误。我怎么能解决这个问题?

UPD:我尝试制作:<td th:text="${ticket.eventName} + #{nextline} + ${ticket.ticketType}">Event Name</td>这样可行。 nextline值= \n,但#{nextline}只能使用一次。如果我反复粘贴它不起作用,为什么?

UPD2:我解决了这个问题。相反,'<br />'需要粘贴'&lt;br /&gt;'th:text更改为th:utext

3 个答案:

答案 0 :(得分:2)

如果你想跳过转义字符,你可以使用th:block,这会产生更清晰的结果。

  

:block是一个仅允许模板开发人员的属性容器   指定他们想要的任何属性。 Thymeleaf将执行   这些属性然后简单地使块消失而没有   跟踪。 (http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#synthetic-thblock-tag

所以在你的例子中:

<td>
    <th:block th:text="${ticket.eventName}"/>
    <br/>
    <th:block th:text="${ticket.ticketType}"/>
</td>

答案 1 :(得分:2)

你可以使用th:inline:

<td th:inline="text">
    [[${ticket.eventName}]]
    <br/>
    [[${ticket.ticketType}]]
</td>

更多信息:http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#inlining

答案 2 :(得分:1)

为Thymeleaf 3.0测试:

<td th:utext="|${ticket.eventName} &lt;br/&gt; ${ticket.ticketType}|">Event Name</td>

注意th:utext tag

其他选择:

<td>[[${ticket.eventName}]] <br/> [[${ticket.ticketType}]]</td>

请参阅Inlined output expressions