2017-03-09 4 views
1

Derzeit Spring Boot ermöglichen einen Wert für die Thymeleaf Vorlage Speicherort mit der spring.thymeleaf.prefix Eigenschaft.Mehrere Vorlagenpositionen für Thymeleaf im Frühjahr Boot

Der Standardwert ist classpath:/templates/.

Ich möchte einen anderen Speicherort für die thymeleaf Vorlagen (aber behalten Sie die Standardeinstellung eins), außerhalb des Glas, zum Beispiel:

spring.thymeleaf.prefix = classpath:/templates/, file:/resources/templates

Muss ich eine andere definieren müssen Template Resolver für den neuen Ort, den ich will?

+1

Ich muss eine 'ITemplateResolver' Bean mit dem gewünschten Präfix-Wert setzen. Der Resolver sollte vor dem Spring-Resolver angeordnet werden (zum Beispiel mit HIGHEST_PRECEDENCE) und sollte das Flag "checkExistence" haben. – herau

+0

Hope meine Antwort löst Ihre Anforderung – rajadilipkolli

Antwort

2

definieren in application.properties unter Einstellung

spring.thymeleaf.templateResolverOrder=1 

Jetzt in Ihrem benutzerdefinierten Bean-Datei, die ITemplateResolver um 0 zusammen mit Präfix gesetzt erzeugt und Suffix .Diese Art und Weise Feder Boot zu beiden Orten hören

um auf 0 gesetzt ist wichtig

Beispiel Bohnen Schöpfung kann

sein
@Bean 
    public ClassLoaderTemplateResolver emailTemplateResolver() { 
     ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver(); 
     emailTemplateResolver.setPrefix("mails/"); 
     emailTemplateResolver.setSuffix(".html"); 
     emailTemplateResolver.setTemplateMode(TemplateMode.HTML); 
     emailTemplateResolver.setCharacterEncoding("UTF-8"); 
     emailTemplateResolver.setOrder(0); 
     emailTemplateResolver.setCheckExistence(true); 

     return emailTemplateResolver; 
    } 

MyExample

Verwandte Themen