Soy nuevo en thymeleaf y yo tratamos de crear una plantilla. Mi problema es el siguiente código:

CÓDIGO

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

Quiero conseguir este resultado:

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

Pero esta es la verdadera salida:

<h1> TITLE </h1>

¿Cómo puedo hacer para que no se quite de lo que está dentro de la «pequeña»?.

Gracias de antemano.

InformationsquelleAutor JohnPortella | 2014-08-01

4 Comentarios

  1. 124

    Yo se enfrentó al mismo problema. La respuesta es th:inline='text'

    Esto debería resolver su problema

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

    o también puede utilizar th:remove="tag"

    <h1>
        <span th:text="${header.title}" th:remove="tag">title</span>
        <small th:text="${header.subtitle}" >Subtitle</small>
    </h1>
    • Fuera de todas las otras respuestas, este fue el más útil y el punto. Solucionado mi problema exactamente.
    • Para referencia en las alineaciones, véase: thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#inlining
    • ¿Por qué no th:utext?
    • En mi caso, texto estático, fue llegar eliminado por th:(u)de texto. Esta solución se corrigió.
    • que trabajar, pero es un «sucio» sollution porque significa mezclar el texto que se mostrará con el formato y esto será más difícil de mantener. Es por eso que podemos extraer texto estático para los archivos de propiedades.
  2. 8

    Independientemente de la semántica de las etiquetas, la respuesta correcta es esta:

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

    De esta manera Thymeleaf quita de <span> de la etiqueta y de los resultados es lo que usted espera:

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

    Saludos!

  3. 1

    No estoy seguro de lo que usted está tratando, ya que el small etiquetas en su h1 no aparecen pequeños. El Thymeleaf th:text etiqueta de sustituir todo el texto en su h1 etiqueta, que es la razón de su salida sólo muestra «TÍTULO». Usted debe colocar el <small> etiquetas fuera de su h1 etiqueta.

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

    Y yo creo que usted está buscando esta respuesta:

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

    • el problema es la plantilla que yo uso. Si <small> está fuera de <h1> tendrá un aspecto diferente.
  4. 0

    además a @Faraj respuesta, también se puede utilizar th:block como este

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

Dejar respuesta

Please enter your comment!
Please enter your name here