Thymeleaf th:text - Put a text without removing HTML structures

后端 未结 4 709
名媛妹妹
名媛妹妹 2020-12-24 00:35

I\'m new in thymeleaf and I try to create a template. My problem is this code:

CODE

titl

相关标签:
4条回答
  • 2020-12-24 01:13

    in addition to @Faraj response, you can also use th:block like this

    <h1>
       <th:block th:utext="${header.title}"/>
       <small th:text="${header.subtitle}" >Subtitle</small>
    </h1>
    
    0 讨论(0)
  • 2020-12-24 01:26

    I faced the same problem. The answer is th:inline='text'

    This should solve your issue

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

    or you can also use th:remove="tag"

    <h1>
        <span th:text="${header.title}" th:remove="tag">title</span>
        <small th:text="${header.subtitle}" >Subtitle</small>
    </h1>
    
    0 讨论(0)
  • 2020-12-24 01:30

    I'm not sure what you are trying, since the small tags in your h1 will not appear small. The Thymeleaf th:text tag will replace all the text in your h1 tag, that is the reason your output only shows "TITLE". You should place the <small> tags outside your h1 tag.

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

    And I believe you are looking for this answer:

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

    0 讨论(0)
  • 2020-12-24 01:34

    Regardless of the semantics of tags, the correct answer is this one:

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

    In this way Thymeleaf removes de <span> tag and the results is what you expect:

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

    Regards!

    0 讨论(0)
提交回复
热议问题