2017-06-27 8 views
0

Diese "myTemplate:: #foo" wird mir die #foo Element.Erhalten Sie mehrere Elemente nach ID aus Vorlage in Thymeleaf

<div id="foo"></div> 
<div id="boo"></div> 
<div id="moo"></div> 

Allerdings möchte ich "myTemplate:: #foo, #moo" bekommen, aber dass Wähler nicht funktioniert.

Ist es möglich, mehrere Elemente aus Vorlage in Thymeleaf durch ID zu erhalten?

Was wäre die Syntax?

Antwort

1

Dieser Selektor tut, was Sie (auf thymeleaf 3 verifiziert) wollen:

"myTemplate :: [id='foo' or id='moo']" 

More examples of thymeleaf selectors.

+0

Danke, leider ist es nicht die Elemente auswählen, obwohl ich doppelt geprüft habe und verwendet es genau wie beschrieben. Kann den Grund noch nicht finden :(vielleicht, weil ich das Template manuell in einer Klassenmethode auflöse. Trotzdem danke +1 – kidwon

+0

@kidwon - was meinst du? Erstellen eigene 'ClassLoaderTemplateResolver' und' TemplateEngine' und Aufruf 'engine.process()'? Wie nennst du es? Das funktioniert für mich: 'engine.process (" myTemplate ", neues HashSet (Arrays.asList (" [id = 'foo' oder id = 'moo'] ")), ctx);'. Verwenden Sie thymeleaf 3? – Metroids

+0

Ich verwende 'View resolvedView = viewResolver.resolveViewName (" meinTemplate :: [id = 'foo' oder id = 'moo'] ", locale)' ; – kidwon

0

Ja, Thymeleaf mehrere Vorlagen verwenden. Punkt ist th: Fragmentsymbol und th: Symbol ersetzen. wenn Sie mehr Informationen wünschen. Sie suchen zwei Schlüsselwörter.

mein Beispielcode.

Inhalt

<!-- start wrapper --> 
<div class="wrapper"> 
    <!-- start top header --> 
    <div id="header" th:replace="layout/header :: officeHeader"></div> 
    <!-- end top header --> 
    <!-- start body content --> 
    <div class="content-wrapper"> 
     <!-- start left side column --> 
     <div id="sidebar" th:replace="layout/left :: officeSidebar"></div> 
     <!-- end left side column --> 
     <div id="body" th:replace="user/__${content}__:: ${content}"></div> 
    </div> 
    <!-- end body content --> 
</div> 
<!-- end wrapper --> 
<!-- start footer --> 
<div id="footer" th:replace="layout/footer :: officeFooter"></div> 

Fußzeile

<!-- start footer --> 
<footer class="main-footer" th:fragment="officeFooter"> 

</footer> 
<!-- end footer --> 
Verwandte Themen