以Java计算机数据库示例为起点,在Play!2.1中,我正在开发大约20个模型的CRUD管理后端。 我面临的问题是模板层次结构中同一功能的重复出现。
我尝试将链接函数重构为:
由于反向路由不继承任何特定类,所以我不能通过通用方式实现。之前的代码也不起作用,因为我没有进行类型转换(我猜测是因为编译器错误是“值索引不是 Any 的成员”)。
在运行时,有没有一种方法可以获取定义路由的列表?无论是在 Scala 模板还是在 Java 方面都可以,这样我就可以传递控制器名称并获取正确的反向路由来创建 URL。
如果不可能实现,那么重构所有重复模板代码的正确方法是什么,特别是那些依赖于 ReverseRouters 的模板。
我尝试将链接函数重构为:
@****************************************
* Helper generating navigation links *
****************************************@
@link(newPage:Int, newSortBy:String) = @{
// Generate the link
controllers.admin.routes.Model.index(newPage, "id", newSortBy)
}
将其转化为类似于以下内容
@(controller: Any, newPage: Int, newSortBy: String)
any.index(newPage, "id", newSortBy)
由于反向路由不继承任何特定类,所以我不能通过通用方式实现。之前的代码也不起作用,因为我没有进行类型转换(我猜测是因为编译器错误是“值索引不是 Any 的成员”)。
在运行时,有没有一种方法可以获取定义路由的列表?无论是在 Scala 模板还是在 Java 方面都可以,这样我就可以传递控制器名称并获取正确的反向路由来创建 URL。
如果不可能实现,那么重构所有重复模板代码的正确方法是什么,特别是那些依赖于 ReverseRouters 的模板。