null
Freemarkerで値を処理する方法は?null
値がデータに存在する場合、テンプレートにいくつかの例外があります。
5 に答える
freemarker 2.3.7以降では、次の構文を使用できます。
${(object.attribute)!}
または、属性が次の場合にデフォルトのテキストを表示する場合null
:
${(object.attribute)!"default text"}
??
テスト演算子を使用できます。
これにより、オブジェクトの属性がnullでないかどうかがチェックされます。
<#if object.attribute??></#if>
これは、オブジェクトまたは属性がnullでないかどうかをチェックします。
<#if (object.attribute)??></#if>
私はそれが逆に機能すると思います
<#if object.attribute??>
Do whatever you want....
</#if>
がNULLでない場合object.attribute
、コンテンツが印刷されます。
ステートメント??
の最後に演算子を使用します。<#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>
問題が発生した場合は、コンテキストを追加したいと思います。これが私が試したことです。
<#if Recipient.account_type?has_content>
… (executes if variable exists)
<#else>
… (executes if variable does not exist)
</#if>
これは、この値または必要なロジックを介した別のチェーンかどうかを確認するJavascriptIFおよびELSEの概念に似ています。
シナリオ:顧客のIDと名前が13242 Harishのように組み合わされているため、関係者が唯一の名前を必要としている場合、この$ {record.entity?keep_after( "")}を試しましたが、機能しましたが、機能するのは次の場合のみです。あなたにはスペースがありますが、顧客にスペースと1つの名前がない場合、Null値をチェックするためにIFELSE条件を実行する必要がありました。