我正在尝试重构我的控制器和放大器scala.html文件,以减少我从Java控制器类传递到scala.html前端文件的参数数量。
我的计划是重构代码,以便scala.html文件可以反向路由回Java文件中的变量,而不是将变量从Java类传递到scala.html。
E.g。而不是这个:
@(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反向路由时(当前)没有。
值得注意的是,CONTROL.SomeController.SomeMethod的/ GET路由已在conf / routes文件中设置,我认为这是一个语法或逻辑问题。
非常感谢scala.html通过反向路由访问变量的任何帮助!
答案 0 :(得分:0)
在您的控制器上,您可以使用附加到当前请求的地图,如下所示:ctx().args.put("key", "value");
在您的观看次数中,您可以访问您在地图上放置的数据,如下所示:
@Controller.ctx().args.get("key")
。