FTL は純粋にレンダリング エンジンであり、これはコントローラーで行う必要があることはわかっていますが、私のシナリオでは、同じデータの複数の表現を提供する必要があります。
XML をレンダリングし、カスタム フィルターで必要に応じて JSON に変換する FTL を簡単に作成できます。ただし、やるべきFTLは山ほどあります。データ モデルは一般的なものになります。XML アプローチはオプションですが、同じ XML 要素を何度も繰り返すことはしたくありません (さまざまなチーム メンバーが手作りの xml 要素を作成することはエラーのレシピです。マークアップが同じであることを確認する必要があるなど)。
ただし、FTLにオブジェクトを入力するだけでよいかどうか疑問に思っていました
//FreMarkerResolver が出力メタモデルをモデルの一部として公開したと仮定する someObject.addRecords( Records)
//ここにいくつかのロジック request.setAttribute("data",someObject);
したがって、私のサーブレット フィルターは、データ オブジェクトを JSON、xml、YAML、または必要なものに変換するだけです。
たとえば、FTLからセッションを変更できないことをどこかで読んだことがありますが、リクエストはどうですか? 少なくとも新しい属性を設定できますか?
ありがとう