その内容に基づいてテキストを表示したいですか?例えば、ステータスがACCEPTEDに等しい場合、私はこの単語を表示したい、そうでない場合は表示しない。私が持っているもの:Thymeleaf on Stringの場合
<td th:if="${trip.tripStatus} == 'ACCEPTED'" th:text="${trip.tripStatus}"></td>
しかし、それはそのように動作しないようです。
その内容に基づいてテキストを表示したいですか?例えば、ステータスがACCEPTEDに等しい場合、私はこの単語を表示したい、そうでない場合は表示しない。私が持っているもの:Thymeleaf on Stringの場合
<td th:if="${trip.tripStatus} == 'ACCEPTED'" th:text="${trip.tripStatus}"></td>
しかし、それはそのように動作しないようです。
あなたはこれに対処したいと考えています。しかし、とにかく私は解決策を投稿している、それは他人を助けるかもしれない。 ENUMタイプをStringと比較する場合は、toString
メソッドを使用してENUMタイプをStringに変換します。
<td th:if="${#strings.toString(trip.tripStatus)} == 'ACCEPTED'" th:text="${trip.tripStatus}"></td>
@ ak38あなたが投稿した解決策はうまくいきますが、それは完全ではありません。あなたが列挙型を比較したい場合は、この表記を使用する必要がありますいくつかの理由で、他のプログラマは、あなたのコードが目立たない作業するACCEPTするACCEPTEDからこの列挙型の名前を変更し、条件を満たしたことがない場合は
<td th:if="${trip.tripStatus == T(my.package.Status).ACCEPTED}" th:text="${trip.tripStatus}"></td>
をしばらく意志上記のバージョンビューがその変更に対して準備されていないことを通知する例外をスローします。
あなたは '}'を見逃しました。$ {trip.tripStatus == 'ACCEPTED'} "th:text =" $ {trip.tripStatus} ">'? – kukkuz
[Thymeleafでif-elseを実行する方法]の可能な複製?(http://stackoverflow.com/questions/13494078/how-to-do-if-else-in-thymeleaf) – ben3000
私の質問を編集しました。私は別の可能性があります重複を読むが、ここでは別のケースと私はそれを動作させることができませんでした – jarosik