0

Play 2.1.0 を使用して、任意の html ビューをレンダリングするアクションを持つ Java コントローラーを用意しました。

例えば:

class HtmlClientViews extends Controller {    
    public static void getView(String viewName) {
        return ok(/*How to render the view programmatically?*/)
    }
}

私のビューには、account.html.scala という名前のビューがあります。

私は次のようなルートを持っています:

GET   /htmlclient/*viewName        controllers.HtmlClientViews.getView(viewName)

/htmlclient/account.html のようなリクエストを行う場合、account.html.scala という名前のビューをレンダリングしたい

私はまだこれに Java リフレクション メカニズムを使用しようとはしていませんが、これを達成するための最も効果的な方法を知りたいです。

4

1 に答える 1

1

あなたはそれを行うことができます:

  1. リフレクション、Play Authenticate使用例のように、検出された言語に応じて異なるビューを選択するために使用されます
  2. ビューの数がわかっている場合は、コントローラーで単純な switch ステートメントを使用して、ビュー、、またはを返すことがaできます。bcd
  3. また、ケース番号のように。2 -matchingビューでステートメントを使用して、変数に応じてサブビューを含めることができます。
于 2013-03-05T17:02:08.173 に答える