0

使用 Play 2.1.0,我有一个 Java 控制器,其动作负责呈现任意 html 视图。

例如:

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 语句来返回视图ab或。cd
  3. 也如没有。2 - 您可以matching根据某些变量在视图中使用语句来包含子视图。
于 2013-03-05T17:02:08.173 回答