0

次の th:if を実行しようとしています:

th:if="${camelContext.getRouteStatus( route.id )} &eq; 'ねえ'

しかし、私はこのエラーが発生します:

org.thymeleaf.exceptions.TemplateProcessingException: 式として解析できませんでした: "${camelContext.getRouteStatus( route.id )} &neq; 'Hey' " (camel:92)

しかし、試してみると

th:if="${camelContext.getRouteStatus( route.id )} > 41 "

別のエラーが発生しますが、式を解析できることを示しています。これは、文字列と数値を比較できないということだけです。

式 "${camelContext.getRouteStatus( route.id )} > 41" から GREATER THAN を実行できません。左が「開始」、右が「41」(camel:92)

それは問題ありません。構文が正しく記述されているかどうかを確認したかっただけで、数値を比較するのではなく、RouteStatus 文字列を比較したいのです。

とにかく、誰かがこの問題で私を助けることができますか? 基本的に、文字列の内容に対して if-else を実行したいのですが、これを機能させることができません..

乾杯

4

2 に答える 2

0

これを試しましたか:

th:if="${camelContext.getRouteStatus( route.id )} == 'Hey'"

多分それはこのように動作しますか?

thymeleaf の例は、似たようなものを示しています: 式の値は、通常どおり、>、<、>=、および <= 記号と比較できます。また、== および != 演算子を使用して等価性をチェックできます (または不足それの)。XML では、< 記号と > 記号を属性値で使用してはならないことが規定されているため、< と > で置き換える必要があることに注意してください。

    th:if="${prodStat.count} gt; 1"
th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"

gt (>)、lt (<)、ge (>=)、le (<=)、not (!) など、一部の演算子にはテキスト エイリアスが存在しますが。また、eq (==)、neq/ne (!=)、昔ながらの演算子に固執する方が良い場合もあります。

于 2013-12-10T11:39:15.360 に答える