null
Freemarkerで値を処理する方法は?null
値がデータに存在する場合、テンプレートでいくつかの例外が発生します。
回答:
??
テストオペレーターを使用できます。
これは、オブジェクトの属性がnullでないかどうかをチェックします。
<#if object.attribute??></#if>
これは、オブジェクトまたは属性がnullでないかどうかをチェックします。
<#if (object.attribute)??></#if>
has_content
、nullチェックの横に、値が空でないかどうかもチェックします。これは、文字列、シーケンス、ハッシュ、またはコレクションに対して機能します。オブジェクトが日付、ブール、または数値の場合、空ではないものとして機能します。他のすべてのタイプでは、空として機能します。
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.22</version></dependency>
pom.xmlに追加した後に機能します。
${(object.dateAcquired?date)!"not present"}
${salutation!'Dear Mr. or Mrs.'}
私はそれが逆に機能すると思います
<#if object.attribute??>
Do whatever you want....
</#if>
object.attribute
がNULLでない場合、コンテンツが印刷されます。
ステートメント??
の最後に演算子を使用します<#if>
。
この例null
は、Freemakerテンプレートで2つのリストの値を処理する方法を示しています。
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>