web-dev-qa-db-ja.com

Freemarkerでのnull値の処理

Freemarkerでnull値を処理する方法データにnull値が存在する場合、テンプレートに例外が発生します。

69
Anand B

??テスト演算子を使用できます。

これにより、オブジェクトの属性がnullでないかどうかがチェックされます。

<#if object.attribute??></#if>

これにより、オブジェクトまたは属性がnullでないかどうかがチェックされます。

<#if (object.attribute)??></#if>

ソース: FreeMarker Manual

81
Tom Verelst

Freemarker 2.3.7以降では、 この構文 を使用できます。

${(object.attribute)!}

または、属性がnullのときにデフォルトのテキストを表示する場合:

${(object.attribute)!"default text"}
81
Arnaud

私はそれが他の方法で働くと思う

<#if object.attribute??>
   Do whatever you want....
</#if>

object.attributeがNOT NULLの場合、コンテンツが印刷されます。

2

??ステートメントの最後に<#if>演算子を使用します。

この例は、Freemakerテンプレートの2つのリストのnull値を処理する方法を示しています。

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>
0
Daniel Perník