by Anonymous » 14 Feb 2025, 15:00
Gibt es eine Möglichkeit, fehlende/falsch geschriebene Vorlagenparameter in Thymeleaf zu verarbeiten? Die Antwort schlägt vor, in der Vorlage eine Validierung hinzuzufügen. Ich habe bereits viele Vorlagen, daher wäre es viel Arbeit, sie zu ändern. Plus: Wenn jemand eine Variable vergisst/typiert, ist er genauso wahrscheinlich vergessen, auch die Validierung hinzuzufügen. Br />
Code: Select all
class TemplateRenderer {
private final TemplateEngine templateEngine;
public TemplateRenderer() {
this.templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(new StringTemplateResolver());
}
public String render(String template, Map variables) {
IContext context = new Context(Locale.GERMAN, variables);
return templateEngine.process(template, context);
}
}
< /code>
Das wird so verwendet: < /p>
public class Main {
public static void main(String[] args) {
TemplateRenderer renderer = new TemplateRenderer();
System.out.println(renderer.render("", Map.of("key", "value")));
System.out.println(renderer.render("", Map.of("key", "value")));
System.out.println(renderer.render("", Map.of("misspelled_key", "value")));
System.out.println(renderer.render("", Map.of()));
}
}
Die ersten Druckln -Ausgänge Wert Wie erwartet die letzten drei Ausgabe .
Gibt es eine Möglichkeit, wie ich die letzten drei eine Warnung protokollieren oder eine Ausnahme abgeben kann? Gibt es einen benutzerdefinierten Haken, den ich in meiner Templaterenderer -Klasse implementieren kann?
Gibt es eine Möglichkeit, fehlende/falsch geschriebene Vorlagenparameter in Thymeleaf zu verarbeiten? Die Antwort schlägt vor, in der Vorlage eine Validierung hinzuzufügen. Ich habe bereits viele Vorlagen, daher wäre es viel Arbeit, sie zu ändern. Plus: Wenn jemand eine Variable vergisst/typiert, ist er genauso wahrscheinlich vergessen, auch die Validierung hinzuzufügen. Br />
[code]class TemplateRenderer {
private final TemplateEngine templateEngine;
public TemplateRenderer() {
this.templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(new StringTemplateResolver());
}
public String render(String template, Map variables) {
IContext context = new Context(Locale.GERMAN, variables);
return templateEngine.process(template, context);
}
}
< /code>
Das wird so verwendet: < /p>
public class Main {
public static void main(String[] args) {
TemplateRenderer renderer = new TemplateRenderer();
System.out.println(renderer.render("", Map.of("key", "value")));
System.out.println(renderer.render("", Map.of("key", "value")));
System.out.println(renderer.render("", Map.of("misspelled_key", "value")));
System.out.println(renderer.render("", Map.of()));
}
}
[/code]
Die ersten Druckln -Ausgänge Wert Wie erwartet die letzten drei Ausgabe .
Gibt es eine Möglichkeit, wie ich die letzten drei eine Warnung protokollieren oder eine Ausnahme abgeben kann? Gibt es einen benutzerdefinierten Haken, den ich in meiner Templaterenderer -Klasse implementieren kann?