26

date をフォーマットする Thymeleaf テンプレート コードがあります。その日付がnull返されるオブジェクトに含まれる場合があります。nullこの状況で Thymeleafをチェックする最良の方法は何ですか? 現在、テンプレートは次のエラーをスローしています。

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)
4

2 に答える 2

58

オブジェクトに条件式を使用して、オブジェクトが null でない場合にのみ書式設定メソッドが適用されるようにすることもできます。th:text="${myDate} ? ${#dates.format(myDate,...)}"

上記の式には「else」部分がないことに注意してください。その場合、式は単に null を返します (th:text属性に何も書き込まないようにします)。

(StackOverflow が必要とする免責事項: 私は thymeleaf の作成者です)

于 2012-12-13T20:42:08.033 に答える
6

thymeleafsオブジェクトユーティリティクラスObjectsを使用するか、オブジェクトをテンプレートに渡す前に検証することができます。

あなたは通常あなたのテンプレートをハックしたくないので、私は事前検証を好みます。また、そのようにして、データをビューから緩く結合しておくことができます。

于 2012-12-11T17:49:57.277 に答える