Thymeleafでのブール値の使用
1. 前書き
このクイックチュートリアルでは、Thymeleafでブール値を操作する方法を見ていきます。
詳細に入る前に、Thymeleafの基本はthis write-upにあります。
2. 式をブール値として評価する
In Thymeleaf, any value can be evaluated to a boolean. false:として解釈される値がいくつかあります
-
null
-
ブール値false
-
数0
-
文字_0_
-
文字列“false”、“off”、および“no”
その他の値はtrueに評価されます。
3. ブール値をレンダリング条件として使用する
HTML要素を条件付きでレンダリングするには、th:if 属性とth:unless 属性の2つのオプションがあります。
それらの効果は正反対です。Thymeleafは、属性の値がtrue の場合にのみ、th:if 属性を持つ要素をレンダリングし、値がfalse:の場合にのみ属性を使用する場合を除き、thをレンダリングします。
will be rendered
won't be rendered
won't be rendered
will be rendered
4. 論理演算子と条件演算子
さらに、Thymeleafでは3つの古典的な論理演算子を使用できます。
-
and
-
or
-
キーワードnot または「!」による否定シンボル
これらの演算子は、変数式内で使用することも、複数の変数式を組み合わせて使用することもできます。
The weather is bad
The weather is bad
The weather is good
The weather is good
It's warm
It's warm
It's warm
It's warm
条件演算子(if-then、if-then-else、およびデフォルト演算子)を使用することもできます。
if-then-else operatorは通常の三項、または?:演算子:
It's
さらに、if-then operatorは、else部分がない簡略化されたバージョンです。
デフォルトの演算子は、null でない場合は最初のオペランドを返し、そうでない場合は2番目のオペランドを返します。
デフォルトの演算子は、エルビスの髪型によく似ているため、エルビス演算子とも呼ばれます。
エルビス演算子はnull checkのみを実行し、最初のオペランドをブール値として評価しないことに注意してください。
5. #bools Utilityオブジェクト
#bools isは、デフォルトで式で使用でき、いくつかの便利なメソッドを持つユーティリティオブジェクトです。
-
#bools.isTrue(obj) は、引数がtrueに評価されるかどうかを返します
-
#bools.isFalse(obj) は、引数がfalseに評価されるかどうかを返します
-
#bools.xxxIsTrue(collection) は引数の要素をブール値に変換し、#bools.isTrue() thenはそれらを同じタイプのコレクションに収集します
-
#bools.xxxIsFalse(collection) は引数の要素をブール値に変換し、#bools.isFalse() thenはそれらを同じタイプのコレクションに収集します
-
#bools.xxxAnd(collection) は、引数のすべての要素がtrueと評価された場合、trueを返します
-
#bools.xxxOr(collection) は、引数のいずれかの要素がtrueに評価された場合、true を返します。
上記のメソッドでは、xxx は、メソッドの引数(およびxxxIsTrue() とxxxIsFalse()の場合は戻り値)に応じて、array、list 、またはsetのいずれかになります。 )。
6. 結論
この記事では、Thymeleafが値をブール値として解釈する方法と、要素を条件付きでレンダリングしてブール式を操作する方法について説明しました。
いつものように、コード(より多くの例を含む)はover on Githubで利用できます。