java - Play Framework 2.5 - 从 scala.html 文件反向路由到 .java 文件中的变量

标签 java scala playframework twirl

我正在尝试重构我的 Controller 和 scala.html 文件,以减少从 Java Controller 类传递到 scala.html 前端文件的参数数量。

我的计划是重构代码,以便 scala.html 文件可以反向路由回 Java 文件中的变量,而不是将变量从 Java 类传递到 scala.html。

例如而不是这个:

@(someInteger: Int, someString: String, stringList: List[String], anotherInteger: Int)

只有一两个变量:

@(someInteger: Int, someString: String)

并在 scala.html 文件中需要的其他变量使用反向路由,如下所示:

@routes.SomeController.SomeMethod

另外,我想在 scala.html 文件中添加与其中一些变量的 scala 比较,例如:

@if(@routes.SomeController.SomeMethod == true){
    ...
}

当从 Java Controller 类作为 scala 变量传入时,上述方法有效,但(目前)在尝试从 scala.html 反向路由时无效。

值得注意的是,controllers.SomeController.SomeMethod 的/GET 路由已在conf/routes 文件中设置,我认为这是一个语法或逻辑问题。

任何通过从 scala.html 反向路由访问变量的帮助将不胜感激!

最佳答案

在 Controller 上,您可以使用附加到当前请求的 map ,如下所示:ctx().args.put("key", "value");

在您的 View 中,您可以访问放置在 map 上的数据,如下所示: @Controller.ctx().args.get("key")

关于java - Play Framework 2.5 - 从 scala.html 文件反向路由到 .java 文件中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43123635/

相关文章:

java - 在多列上创建复合唯一约束

java - 从url中获取特定字符串

java - 如何查看 MultipartForm 请求的内容?

scala - 保留 Aerospike CDT 列表的 MAX 值

scala - 使用 Akka HTTP 创建基本 HTTP Post 请求的惯用方法

playframework - 意外 token : VALUES near line 1, 第 57 列

playframework - 为什么激活命令这么慢

java - 缺少变量

java - 日历 java 无法正常工作

java - SQLITE Android NullPointerException 更新数据时