2017-03-22 11 views

Antwort

4

Datei Wenn Sie Thymeleaf verwenden, sollten Sie in der Lage sein

<a th:href="@{/XXX}">Link Name</a> 

zu verwenden, vorausgesetzt, dass erklärt wurde.

Ich denke, das erfordert SpringTemplateEngine.

+0

verwenden, wie werde ich Kontextpfad hinzufügen, die in der Anwendung konfiguriert ist. Eigenschaften ?, kann dies in Zukunft ändern, so kann ich keine statischen Werte hinzufügen –

0

Sie können den Kontextpfad von application.properties mithilfe von @ConfigurationProperties mit einer neuen Klasse für Eigenschaften wie AppProperties.java abrufen.

Anschließend können Sie diese Eigenschaften Klasse in der Klasse autowire wo Sie ThymeLeaf Parameter werden Einstellung und dann setzen Sie diesen Parameter in Thymeleaf Kontext und holen es dementsprechend in der HTML-Datei ..

@Configuration 
@ConfigurationProperties(prefix = "com.test") 
public class AppProperties{ 

private String contextPath; 
} 

Einstellung im Template Engine

@Service 
public class MailContentBuilder { 

private TemplateEngine templateEngine; 

@Autowired 
public MailContentBuilder(TemplateEngine templateEngine) { 
    this.templateEngine = templateEngine; 
} 

public String build(CodeRequest codeRequest, String lang) { 
    Context context = new Context(); 
    context.setVariable("footerFile", "footer_" + lang); 
    context.setVariable("customerInfo", codeRequest); 
    context.setVariable("imageLogo", "cid:" + Constants.LOGO); 
    context.setVariable("imageBorder", "cid:" + Constants.LEFT_BORDER); 
    context.setVariable("imageFooter", "cid:" + Constants.LOGO_FOOTER); 
    return templateEngine.process("template", context); 
} 
} 

HTML Änderungen:

<div th:replace="${contextPath}"></div> 
+0

wo Vorlage Engine? –

+0

Ich habe meine Antwort bearbeitet, um die MailContentBuilder-Klasse mit TemplateEngine für die Thymeleaf-E-Mail-Content-Generierung einzuschließen. Sie können dies überprüfen. – Trin

+0

Vielen Dank –

3

A url Ausdruck @{/} gibt Ihnen Ihre vollständigen Kontext ... Zum Beispiel, wenn Sie:

# application.properties 
server.contextPath=/your/context 

Dann können Sie

<div th:text="@{/}" /> 
or 
<div th:text="${#request.contextPath}" /> 
both of which will output 
<div>/your/context/</div> 
+0

kann ich geben wie 'th: href = "@ {/ user-registration}"'? wird es automatisch meinen Kontext Pfad hinzufügen wie link

+0

vielen Dank. Es klappt –