【问题标题】:Thymeleaf th:text - Put a text without removing HTML structuresThymeleaf th:text - 放置文本而不删除 HTML 结构
【发布时间】: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>

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

【问题讨论】:

    标签: templates spring-mvc thymeleaf


    【解决方案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>
    

    【讨论】:

    • 在所有其他答案中,这个是最有用和最切题的。它完全解决了我的问题。
    • 为什么不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>
      

      【讨论】:

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

        之外看起来会有所不同。

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2015-10-31
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 2018-03-01
      • 2017-10-05
      相关资源
      最近更新 更多