2017-07-19 1 views
0

http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#template-layout docs sagt:Warum th: include wird seit Thymeleaf 3.0 nicht mehr empfohlen? obwohl umfassen:

Der obige Code ein Fragment namens Kopie definiert, die wir leicht in unserer Homepage unter Verwendung einer der th umfassen kann: einfügen oder th: Attribute ersetzen (und auch th seine Verwendung wird seit Thymeleaf 3.0 nicht mehr empfohlen.

Ich persönlich fand th:insert die einzige Möglichkeit, Vorlagen zu implementieren.

Was bedeutet das? th:insert ist veraltet oder wird in zukünftigen Versionen entfernt? Oder ist es eine schlechte Übung?

Was macht th:insert schlechten Ruf?

Antwort

1

Ich denke, es ist ein Fall von zu verallgemeinern, was zuvor von th:include ...

zur Verfügung gestellt wurde

Thymeleaf 3.0 führt eine neue Art des Ausdrucks als Teil des allgemeinen Thymeleaf Standard-Expressionssystem: Fragment Ausdrücke.

Sie sehen wie folgt aus: ~ {commons :: Fußzeile} und ja, sie sind extrem ähnlich der Syntax, die innerhalb th verwendet werden könnten: ersetzen und th: include (jetzt th: Insert) seit langer Zeit ... weil sie genau diese Syntax verwenden, aber verallgemeinert, so dass sie jetzt in anderen Bereichen verwendet werden kann.

Siehe Fragment Expressions.

Es gibt nichts in den Thymeleaf-Dokumenten, das vorschlägt, dass th:include nicht verwendet werden sollte, noch zu vorschlagen, dass th:include in einem zukünftigen Release entfernt wird.

0

In https://github.com/thymeleaf/thymeleaf/issues/625 Ich habe Antwort, die mit AttoParser v2.0.3 Starten und Thymeleaf V3.0.4 content() Selektor entsprechen, verwendet werden kann, was mit th:replace macht th:include redundant:

<div th:replace="thymeleaf/layout :: tmpl(~{::body/content()})"> 
    XXX 
</div> 
Verwandte Themen