我正在尝试重构我的控制器和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")
.