Playはモデルとコントローラーを使用していますが、backbone.jsとクライアントサイドのテンプレートを使用してアプリケーションを構築しています。さて、バッキングコントローラなしで、PlayでHTMLテンプレートを提供したいのですが。テンプレートをパブリックディレクトリに置くことができるのは分かっていますが、Playのテンプレートエンジンを使用してテンプレート内の文字列をメッセージファイルから入れたいと思います。私は他のデータを必要としないので、各テンプレートに対してダミーのコントローラを作成するのは苦労したくありません。 Playでこれを行うことはできますか?Playでコントローラーを使用しないビューをレンダーする
2
A
答えて
2
コントローラを1つ作成してテンプレート名をパラメータとして渡すこともできますが、それが良い考えかどうかはわかりません。
public static void controller(String templateName) {
// add whatever logic is needed here
renderTemplate("Controller/"+templateName+".html");
}
次に、そのコントローラメソッドへのすべてのルートをポイントします。しかし、逆方向ルーティングについては忘れてしまいます。
私はまだ各テンプレートに対して別々のコントローラメソッドを持っていると思います。 @Before
注釈(Play Framework documentationを参照)を使用して、各コントローラメソッドの前に実行される正確に1か所でメッセージ文字列を処理できることに注意してください。 @With
アノテーションを使用することで、このロジックを別のクラスに含めることもできます。
1
あなたはあなたのコード内の任意の場所からテンプレートエンジンを使用することができます。
String result = TemplateLoader.load("Folder/template.html").render(data);
関連する問題
- 1. コントローラー内のコントローラーを呼び出します。 Play Framework
- 2. コントローラーやビューなしでリソースを使用するのは悪い習慣ですか? (レール)
- 3. コントローラー内のPlay Frameworkメッセージ
- 4. myViewControllerでルートビューコントローラーを初期化する/分割ビューを使用する(スライディングナビゲーション)コントローラー
- 5. ビューを使用するかビューを使用しないようにする
- 6. ASP.NET MVCビュー&コントローラーを再利用
- 7. chart.apis.google.comを使ってラテックスコードをレンダーする
- 8. どのコントローラーを使用しますか?
- 9. jsonをPlay 2で使用する
- 10. Play FrameworkでPOSTルートパラメータを使用する
- 11. エミュレータでGoogle Playゲームサービスを使用する
- 12. EclipseをPlay Framework 2.0で使用する
- 13. Play Frameworkでlogisimaymlモジュールを使用する
- 14. ヘルパーのコントローラーを使用
- 15. パス内のJava 7を使用しているサーバーでPlay Framework 2.4+を使用
- 16. Google Playデベロッパーアカウントで異なるパッケージ名を使用する
- 17. Fix Frameworkを使用しないPlay Frameworkとの統合テスト
- 18. デフォルトのPlay Framework HTTPポートの変更(システムプロパティを使用しない)
- 19. Play WebサービスでGETパラメータを使用していますか?
- 20. Railsでajaxクエリーをレンダーする
- 21. コントローラー、サブコントローラー、ビューの構造
- 22. Rails:コントローラーを使用してjs.erbテンプレートをレンダリングする
- 23. コントローラーの式を使用してリンクを構築する
- 24. ビューを使用しないセキュアソーシャルサービスの使用
- 25. jQueryを使ってコレクションで部分的にレンダーする
- 26. Scala Play!嵐やORMを使用する
- 27. Play!を使用する!オラクルと
- 28. AngularJS:ビューのコントローラーが呼び出されない
- 29. 接続しているビューを介してカスタムジェスチャーからViewコントローラーにアクセスするのは良いですか?
- 30. Play FrameworkでSMTPサーバーとしてsendmailを使用する