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



我正在尝试重构我的控制器和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 控制器类作为 scala 变量传入时,上述方法有效,但(当前)在尝试从 scala.html 反向路由时不起作用。

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

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

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

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

最新更新