1

我正在尝试重构我的控制器和 scala.html 文件,以减少从 Java 控制器类传递到 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 反向路由时(当前)无效。

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

非常感谢通过从 scala.html 反向路由访问变量的任何帮助!

4

1 回答 1

0

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

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

于 2017-03-30T17:35:59.837 回答