freemarkerデータモデルのすべての変数を参照したいのですが、struts2 debug
のような値のスタックを表示するタグと同じです。freemarkerサポートはデータモデルのすべての変数を表示しますか?
freemarkerがこれを行う方法はありますか?
freemarkerデータモデルのすべての変数を参照したいのですが、struts2 debug
のような値のスタックを表示するタグと同じです。freemarkerサポートはデータモデルのすべての変数を表示しますか?
freemarkerがこれを行う方法はありますか?
あり、そのための可能な普遍的な解決策はませんが、あなたは、データ・モデルはいつものMap
やJavaBeanである場合、これは動作しますが、より洗練されたデータ・モデルのために、それはデータ次第です
<#list .data_model?keys as key>
${key}
</#list>
を試すことができますモデルの実装が?keys
をサポートしていて、それが本当にすべてを返すかどうかを判断します。
また、唯一の代わりに.data_model
使用.globals
、.namespace
(現在のテンプレートの名前空間を意味する)と.locals
の上記のように記載されていることができますが、テンプレートで設定された変数を、持っています。
またConfiguration
レベルの共有変数を有していてもよく、およびFTL(あなたががConfiguration.getSharedVariableNames()
を読み込み、それ用のカスタムTemplateMethodModel
を書き、テンプレートからそれを呼び出すことができます)から、純粋にそれらを一覧表示する方法はありません。
もちろん、FreeMarkerには<#show_variables>
という指示文が必要ですが、これをすべて表示するには最善の努力をしていますが、悲しいことですがまだ悲しいことです。
私は '拡張ハッシュを期待しましたが、これはハッシュに評価されました'というエラーです。 '.data_model'ハッシュが?keysハッシュ演算子をサポートしていないことを意味しますか? –
はい。非拡張ハッシュは、独自のキーまたは値を列挙できません。 – ddekany