私のJavaコードが持っていてList<String> listS =null
、これをテンプレートファイルに渡すとしましょう。
今、私はそれを確認したいと思いif list has some data then only do something
ます。
私が試してみました
<#if listS = null>
AND
<#if !listS>
AND
<#if listS?size=0>
しかし、これらはどれも機能していないようです。私は私のJavaコードにいくつかのロジックを持っています; それを通して、ある条件が真である場合、私はnew
これlistS
を入力します。
listS
したがって、テンプレートファイルで、が入力されているのか、nullのみであるのかを知る必要があります。
どうすればこれを行うことができますか?ありがとう。
編集:また、私は構造のリストを持っており、それぞれがこのリストを含んでいます(入力されているかどうかは別の問題です)、そして私は構造のリスト全体を渡しているので、ブール値を私のリストと一緒にテンプレートファイルに渡します各リスト内をトラバースする必要があるため、構造体は使用できません。そのトラバースは、テンプレートファイル自体で実行します。
編集2:Java nullとは何かを知っている人のために、FreeMarker2.3.xはそれらを欠落値として扱います。単純に、テンプレート言語はnullの概念を知りません。たとえば、maidenNameプロパティを持つBeanがあり、そのプロパティの値がnullの場合、テンプレートに関する限り、そのようなプロパティがまったくなかった場合と同じです(極端なオブジェクトラッパーを使用するようにFreeMarkerを構成しました。nullを返すメソッド呼び出しの結果も、欠落している変数として扱われます(ここでも、通常のオブジェクトラッパーを使用していると仮定します)。詳細については、FAQをご覧ください。
しかし、私はそれを機能させる方法についての答えをまだ得ていません。