Ich möchte etwas schreiben wie:
%Vor%Die Methode [process] kann das standardmäßig nicht tun. Ich kann aus den Dokumenten verstehen, dass ich einen speziellen Template Resolver benötige:
Um Templates auszuführen, wird die Methode process (String, IContext) verwendet: final String Ergebnis = templateEngine.process ("meinTemplate", ctx); Das String-Argument "meinTemplate" ist der Vorlagenname und bezieht sich auf den physischen / logischen Speicherort der Vorlage selbst, wie im Vorlagen-Resolver / s konfiguriert.
Kann jemand mein Problem lösen?
Das Ziel besteht darin, die Thymeleaf-Templates (Dateien) in Strings zwischenzuspeichern und dann diese Strings und nicht die Dateien zu verarbeiten.
Sie können Ihre eigenen TemplateResolver
und IResourceResolver
implementieren, um mit String
zu arbeiten.
Die von uns verwendete Lösung bestand aus einem neuen IResourceResolver
mit einem benutzerdefinierten Context
anstelle eines benutzerdefinierten TemplateResolver
. Wir haben dies gewählt, weil wir in den meisten Fällen immer noch Klassenpfad-Scans verwenden wollten, aber gelegentlich dynamischen Inhalt hatten.
Das Folgende zeigt, wie wir es gemacht haben:
%Vor%Testfall
%Vor%Dummy-Vorlagedatei unter src / main / resources / mail / dummy.html
%Vor%Hinweis: Wir verwendeten Apache CommonsIOs IOUtils , um den String in einen InputStream zu konvertieren
Tags und Links spring-mvc thymeleaf