Ich wollte ContextPath in thymeleaf zugreifen, ohne org.springframework.ui.Model zu setzen. Ich baute Kontextpfad in application.propertiesZugriff auf ContextPath in Thymeleaf?
Antwort
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.
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>
wo Vorlage Engine? –
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
Vielen Dank –
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>
kann ich geben wie 'th: href = "@ {/ user-registration}"'? wird es automatisch meinen Kontext Pfad hinzufügen wie link –
vielen Dank. Es klappt –
- 1. Zugriff auf Objekteigenschaften Direkt thymeleaf
- 2. Zugriff auf Sitzungsattribute in Thymeleaf-Vorlagen
- 3. Zugriff auf Attribut des Attributs des Objekts in Thymeleaf?
- 4. Spring Boot/thymeleaf geschachtelt Schleife Objekt Zugriff
- 5. Wie @Value in thymeleaf inline zu injizieren Javascript
- 6. window.location.href auf thymeleaf
- 7. Thymeleaf-Dialekt in einem Thymeleaf-Dialekt
- 8. Wie ContextPath in init() Methode der Servlet-Version 2.4
- 9. Zugriff auf Eigenschaftendatei in Spring Expression Language
- 10. - Thymeleaf
- 11. Zugriff auf Frühlingsbohnen in JerseyTest
- 12. Warum URL ist nur nach Contextpath in AJAX Erfolg Handler
- 13. Thymeleaf: Abfrage String
- 14. Bedingter Wrap in Thymeleaf
- 15. for-Schleife in thymeleaf
- 16. Eingang in Array Thymeleaf
- 17. Formatierungsdatum in Thymeleaf
- 18. Verwendung instantof in Thymeleaf
- 19. Thymeleaf-Seitenlayouts
- 20. Thymeleaf: Wie Booleschen Operator in JavaScript verwendet Thymeleaf mit
- 21. Frühling Roo 2.0.0.RC1 - Probleme beim Wechsel contextPath
- 22. Thymeleaf: Feld
- 23. Thymeleaf-Cache auf false eingestellt funktioniert nicht
- 24. Thymeleaf-Schalter auf Integer, Fall größer als
- 25. JFreeChart-Balkendiagramm auf Thymeleaf-Vorlage anzeigen
- 26. Spring Security Expressions in Thymeleaf
- 27. ThymeLeaf Fragment ausgeführt auf false th: wenn
- 28. Wie Klasse in thymeleaf hinzufügen
- 29. Kopf und Titel in Thymeleaf
- 30. Concat String in Thymeleaf/Frühjahr
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 –