Thymeleaf th:text - 放置文本而不删除 HTML 结构

Posted

技术标签:

【中文标题】Thymeleaf th:text - 放置文本而不删除 HTML 结构【英文标题】:Thymeleaf th:text - Put a text without removing HTML structures 【发布时间】:2014-09-24 04:05:31 【问题描述】:

我是 thymeleaf 的新手,我尝试创建一个模板。我的问题是这段代码:

代码

<h1 th:text="$header.title" >
   title
   <small th:text="$header.subtitle" >Subtitle</small>
</h1>

我想得到这个输出:

<h1> TITLE <small> SUBTITLE</small> </h1>

但这是真正的输出:

<h1> TITLE </h1>

我该怎么做才能不删除“小”内部的内容?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。 答案是th:inline='text'

这应该可以解决您的问题

<h1 th:inline="text" >
   [[$header.title]]
   <small th:text="$header.subtitle">Subtitle</small>
</h1>

或者你也可以使用th:remove="tag"

<h1>
    <span th:text="$header.title" th:remove="tag">title</span>
    <small th:text="$header.subtitle" >Subtitle</small>
</h1>

【讨论】:

在所有其他答案中,这个是最有用和最切题的。它完全解决了我的问题。 内联参考:thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#inlining 为什么不th:utext 就我而言,静态文本已被 th:(u)text 删除。这个解决方案修复了它。 @NickSavenia - th:utext 会起作用,但它是一个“更脏”的解决方案,因为它意味着将要显示的文本与格式混合,这将更难维护。这就是我们将静态文本外部化到属性文件的原因。【参考方案2】:

不管标签的语义如何,正确答案是这个:

<h1>
    <span th:text="$header.title" th:remove="tag">title</span>
    <small th:text="$header.subtitle" >Subtitle</small>
</h1>

这样 Thymeleaf 去掉了 de &lt;span&gt; 标签,结果就是你所期望的:

<h1> 
    TITLE 
    <small>SUBTITLE</small> 
</h1>

问候!

【讨论】:

【参考方案3】:

除了@Faraj 回复,你也可以像这样使用th:block

<h1>
   <th:block th:utext="$header.title"/>
   <small th:text="$header.subtitle" >Subtitle</small>
</h1>

【讨论】:

这很棒。谢谢【参考方案4】:

我不确定您在尝试什么,因为您的h1 中的small 标签不会显得很小。 Thymeleaf th:text 标签将替换您的 h1 标签中的所有文本,这就是您的输出仅显示“TITLE”的原因。您应该将&lt;small&gt; 标签放在h1 标签之外。

<h1 th:text="$header.title">title</h1>

<small th:text="$header.subtitle">Subtitle</small>

我相信你正在寻找这个答案:

<h1>
   <span th:text="$header.title" th:remove="tag">title</span>
   <small th:text="$header.subtitle">Subtitle</small>
</h1>

【讨论】:

问题是我使用的模板。如果

之外看起来会有所不同。

以上是关于Thymeleaf th:text - 放置文本而不删除 HTML 结构的主要内容,如果未能解决你的问题,请参考以下文章

如何在 reactJS 中使用 Thymeleaf th:text

thymeleaf文本处理

Thymeleaf语法中th:text与th:utext的区别

Spring Boot整合Thymeleaf

thymeleaf3.0学习

Thymeleaf 整理