ThymeLeaf 中的条件文本:如何以纯文本形式进行?

Posted

技术标签:

【中文标题】ThymeLeaf 中的条件文本:如何以纯文本形式进行?【英文标题】:Conditional text in ThymeLeaf : how to do it in plain text? 【发布时间】:2015-08-17 11:29:45 【问题描述】:

我了解 th:if 如何适用于 html 模板,但是当您期望纯文本时,我没有找到任何线索(用例:纯文本电子邮件模板)。

到目前为止我试过了:

<html xmlns:th="http://www.thymeleaf.org" th:inline="text" th:remove="tag">
  Dear [[$contact.firstname]] [[$contact.lastname]],
  An alert was triggered at location:  [[$account.address]] 
  <span th:if=\"$videoLink\">To view your security camera recordings, please click on [[$videoLink]]</span>
</html>

它可以工作......但结果包含标签。知道我做错了什么吗?

谢谢, 西里尔

【问题讨论】:

【参考方案1】:

Thymeleaf 2.1 有一个th:block 标签,它基本上是一个属性容器。您的条件文本可以这样完成:

<th:block th:if="$videoLink">To view your...</th:block>

【讨论】:

这正是我想要的,谢谢。我用 替换了我所有的 感谢您的时间和精力【参考方案2】:

似乎与 th:inline 不同,th:remove="" 并不应用于子节点,并且必须为每个标签添加。在这里,如果我将它添加到标签中,结果就是我想要的:

<html xmlns:th="http://www.thymeleaf.org" th:inline="text" th:remove="tag">
  Dear [[$contact.firstname]] [[$contact.lastname]],
  An alert was triggered at location:  [[$account.address]] 
  <span th:if=\"$videoLink\" th:remove="tag">To view your security camera recordings, please click on [[$videoLink]]</span>
</html>
结果 :

Dear John Doe,
An alert was triggered at localation: 205 North Michigan Avenue Chicago, IL

To view your security camera recordings, please click on http://www.video.com?id=007   

【讨论】:

以上是关于ThymeLeaf 中的条件文本:如何以纯文本形式进行?的主要内容,如果未能解决你的问题,请参考以下文章

比在配置文件中以纯文本形式存储 mysql 密码更好的方法?

以纯文本形式获取 XML

从外部 URL 获取 JSON 数据并将其以纯文本形式显示在 div 中

数据库凭据以纯文本形式存储可以吗?

以纯文本形式获取 pop3 邮件

为啥不应该在数据库中以纯文本形式存储密码? [复制]