2013-09-26 4 views

答えて

13

あり、そのための可能な普遍的な解決策はませんが、あなたは、データ・モデルはいつものMapやJavaBeanである場合、これは動作しますが、より洗練されたデータ・モデルのために、それはデータ次第です

<#list .data_model?keys as key> 
    ${key} 
</#list> 

を試すことができますモデルの実装が?keysをサポートしていて、それが本当にすべてを返すかどうかを判断します。

また、唯一の代わりに.data_model使用.globals.namespace(現在のテンプレートの名前空間を意味する)と.localsの上記のように記載されていることができますが、テンプレートで設定された変数を、持っています。

またConfigurationレベルの共有変数を有していてもよく、およびFTL(あなたががConfiguration.getSharedVariableNames()を読み込み、それ用のカスタムTemplateMethodModelを書き、テンプレートからそれを呼び出すことができます)から、純粋にそれらを一覧表示する方法はありません。

もちろん、FreeMarkerには<#show_variables>という指示文が必要ですが、これをすべて表示するには最善の努力をしていますが、悲しいことですがまだ悲しいことです。

+0

私は '拡張ハッシュを期待しましたが、これはハッシュに評価されました'というエラーです。 '.data_model'ハッシュが?keysハッシュ演算子をサポートしていないことを意味しますか? –

+0

はい。非拡張ハッシュは、独自のキーまたは値を列挙できません。 – ddekany

関連する問題