Thymeleaf - Best Practice zum Überprüfen auf NULL beim Formatieren (zB Daten)
Ich habe eine Thymeleaf template-code zu format ein Datum. Es gibt Zeiten, wenn das Datum wird null
im zurückgegebenen Objekt. Was ist der beste Weg, um zu überprüfen, für null
im Thymeleaf in dieser situation? Derzeit wird die Vorlage werfen die folgende Fehlermeldung:
Caused by: java.lang.IllegalArgumentException: Cannot apply format on null
at org.thymeleaf.util.Validate.notNull(Validate.java:37)
at org.thymeleaf.util.DateUtils.format(DateUtils.java:182)
at org.thymeleaf.expression.Dates.format(Dates.java:164)
InformationsquelleAutor der Frage user1812806 | 2012-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie entweder thymeleafs Objekte utility-Klasse Objekte oder prüfen Sie das Objekt vor der übergabe an die Vorlage.
ich bevorzuge die Validierung, wie Sie es normalerweise nicht wollen, zu hacken um in Ihrer Vorlage. auch so halten Sie Ihre Daten von lose gekoppelten, aus der Sicht.
InformationsquelleAutor der Antwort Julien May
Können Sie auch verwenden Sie einen bedingten Ausdruck in Ihrem Objekt, so dass die Formatierung Methode wird nur angewendet, wenn Sie das Objekt nicht null ist:
th:text="${myDate} ? ${#dates.format(myDate,...)}"
Hinweis: es ist kein "else" - Teil in den obigen Ausdruck, und in diesem Fall wird der Ausdruck einfach null zurück (so dass die
th:text
Attribut nichts schreiben).(Disclaimer erforderlich StackOverflow: ich bin der Autor von thymeleaf)
InformationsquelleAutor der Antwort Daniel Fernández