java - 以编程方式渲染 Play 2.0 View

标签 java playframework-2.0

使用 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 反射机制来实现此目的,但想知道实现此目的最有效的方法是什么。

最佳答案

你可以这样做:

  1. 反射,如 Play Authenticate 使用示例中所示,用于根据检测到的语言选择不同的 View
  2. 如果您已知 View 数量,则可以在 Controller 中使用简单的 switch 语句来返回 View abcd
  3. 也如情况没有。 2 - 您可以在 View 中使用 matching 语句来根据某些变量包含 subview 。

关于java - 以编程方式渲染 Play 2.0 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221683/

相关文章:

java - 如何使用java从列表中删除重复项和匹配的原始元素

java - org.apache.commons.fileupload.FileUploadException : Processing of multipart/form-data request failed

database - 如何在运行时更改 Play 2 Framework DB 配置?

java - 如何禁用 Play 2.6 CSRFFilter

java - 将项目添加到测验问题数组列表

java - 从 FileNotFoundException 获取文件的文件名

java - Eclipse 中建议方法的标记

java - 玩!框架 - 访问 "private"文件

java - Play 2.0.1 自定义字段构造函数...额外参数?

playframework-2.0 - 在 Vagrant 同步文件夹中的 SBT/Typesafe Activator 中不允许操作