2

Play for ModelとControllerを使用してアプリケーションを構築していますが、backbone.jsとクライアント側のテンプレートを使用しています。ここで、バッキングコントローラーなしでHTMLテンプレートをPlayで提供したいと思います。テンプレートをパブリックディレクトリに配置できることはわかっていますが、メッセージファイルからテンプレートに文字列を配置するためにPlayのテンプレートエンジンを使用したいと思います。他のデータは必要ないので、テンプレートごとにダミーのコントローラーを作成する手間をかけたくありません。Playでこれを行うことはできますか?

4

2 に答える 2

2

単一のコントローラーを作成し、パラメーターとしてテンプレート名を渡すこともできますが、それが良いアイデアかどうかはわかりません。

public static void controller(String templateName) {
    // add whatever logic is needed here
    renderTemplate("Controller/"+templateName+".html");    
}

次に、すべてのルートをそのコントローラーメソッドにポイントします。ただし、逆ルーティングは忘れてください。

テンプレートごとに個別のコントローラーメソッドを使用したいと思います。@Beforeアノテーション(Play Frameworkのドキュメントを参照)を使用して、各コントローラーメソッドの前に実行されるメッセージ文字列を正確に1か所で処理できることを忘れないでください。@Withアノテーションを使用することで、このロジックを別のクラスに含めることもできます。

于 2012-03-07T06:06:50.100 に答える
1

コード内の任意の場所からテンプレートエンジンを使用できます。

String result = TemplateLoader.load("Folder/template.html").render(data); 
于 2012-03-07T07:06:25.830 に答える