2016-05-04 22 views
1

Freemarkerでは、指定されたオブジェクトまたは指定されたオブジェクトで定義されていないもの(Map)を扱い、nullの値を持ちます。空の文字列""または空白のみの文字列(" \t\n")、空白の文字列です。または"foo"のような実際の値です。Freemarker - 変数が見つからない、または空白の場合のデフォルト値ですか?

空白以外の文字列以外の場合は、式にデフォルト値を返すようにします。

どのように私はFreemarkerでこれを処理できますか?

${ obj.propery???then(obj.property?trim!"default") } 

しかし、私は

${ obj.property!!?trim!"default" } 

とさえ(テンプレートのために非常に一般的な操作である)トリミングと同じように、何かもっとellegantを想像することができます。

はこれまでのところ、これは私が使用するものです。

${ obj.property!!!"default" } 

Freemarkerには何かありますか? (自分のメソッドやマクロをコーディングする以外に)

答えて

0

FreeMarkerには、少なくとも2.3.24にはないものはありません。私はそれに対処する最善の方法は、trimToNull関数を書いていると思うし、trimToNull(obj.property)!"default"trimToNull(obj.property)??など書くことができると思う。

関連する問題