使用 Play 2.1.0,我有一个 Java Controller ,其操作负责渲染任意 html View 。
例如:
class HtmlClientViews extends Controller {
public static void getView(String viewName) {
return ok(/*How to render the view programmatically?*/)
}
}
在我的 View 中,我有一个名为 account.html.scala 的 View 。
我有一条路线,例如:
GET /htmlclient/*viewName controllers.HtmlClientViews.getView(viewName)
如果我发出类似/htmlclient/account.html 的请求,我想渲染名为 account.html.scala 的 View
我还没有尝试使用 Java 反射机制来实现此目的,但想知道实现此目的最有效的方法是什么。
最佳答案
你可以这样做:
- 反射,如
Play Authenticate
使用示例中所示,用于根据检测到的语言选择不同的 View - 如果您已知 View 数量,则可以在 Controller 中使用简单的 switch 语句来返回 View
a
、b
、c
或d
。 - 也如情况没有。 2 - 您可以在 View 中使用
matching
语句来根据某些变量包含 subview 。
关于java - 以编程方式渲染 Play 2.0 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221683/