Thymeleafにて型チェック(instanceof)を行う

Map<String,Object>なんて事をしていたら、

ObjectがMapだったりListだったりして

EL1008E: Property or field ‘********’ cannot be found on object of type ‘java.util.HashMap’ – maybe not public?

なんてエラーを起こしてしまいました。

 

そこで、処理する前に型チェックを行い、チェックが通った場合のみ処理させます。

<td th:if="*{comps instanceof T(java.util.List)}" th:text="*{comps.li}"></td>

javaと同じ様にinstanceofを使ってあげればチェックすることができます。

否定させる場合は、

<td th:if="*{not(comps instanceof T(java.util.List))}" th:text="*{comps.li}"></td>

ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です