文字列値が存在しないか空である場合がよくあります。これは、この状態をテストする最良の方法ですか?
#if( $incentive.disclaimer && $!incentive.disclaimer != '' )
$incentive.disclaimer
#end
文字列値が存在しないか空である場合がよくあります。これは、この状態をテストする最良の方法ですか?
#if( $incentive.disclaimer && $!incentive.disclaimer != '' )
$incentive.disclaimer
#end
値がある場合は Velocity に値を表示するか、値がない場合は何も表示しないようにする場合は、静かな参照だけでうまくいきます。
$!incentive.disclaimer
空であることを明示的にテストしたい場合は、Apache Commons LangのStringUtilsが役に立ちます。最初にそれを Context に追加します (ここを参照してください):
context.put("StringUtils", StringUtils.class);
古いバージョンの Velocity を使用している場合は、クラス参照が気に入らない可能性があるため、代わりにインスタンスを追加できます。
context.put("StringUtils", new StringUtils());
次に、Velocity テンプレートからisEmptyメソッドを呼び出すことができます。
#if($StringUtils.isEmpty($incentive.disclaimer))
## logic here...
#end
空白を空として扱いたい場合は、isBlankもあります。
http://wiki.apache.org/velocity/CheckingForNull$!incentive.disclaimer
に合わない場合は、短い解決策を提案します。
#if( "$!car.fuel" != "" )
Bla bla $!incentive.disclaimer.
$incentive.disclaimerがnullまたは""の場合、Velocity は次のようにレンダリングします。
Bla bla .
公式のガイド セクションを参照してください: https://velocity.apache.org/engine/devel/user-guide.html#quiet-reference-notation
#if が必要な場合の最も一般的なケース: 変数が大きなテキストの一部にすぎず、変数が空の場合は表示したくない場合。次に、これが必要です:
#if($incentive.disclaimer && !$incentive.disclaimer.empty)
Please read our incentive disclaimer:
$incentive.disclaimer
#end