7 scala playframework playframework-2.4
我正在尝试Play 2.4.2 for Scala,我不清楚控制器是应该定义为类还是单例.文档说明:
Controller只不过是一个生成Action值的单例对象.
但是代码示例显示:
class Application extends Controller { ... }
Run Code Online (Sandbox Code Playgroud)
为了进一步复杂化,如果我定义一个类,intellij会给我一个警告:

但是,如果我使用单例,我会收到编译错误(但没有警告):
package controllers
import play.api._
import play.api.mvc._
object Application extends Controller { ... }
Run Code Online (Sandbox Code Playgroud)
错误:(6,-1)播放2编译器:/ Users/Toby/IdeaProjects/play-scala/conf/routes:6:type应用程序不是包控制器的成员
哪种方法是正确的?
dwi*_*ern 10
如果使用静态路由器,您的控制器应该是对象.静态是Play 2.4中的默认路由器,并且具有与Play 2.3及之前相同的行为.
如果使用Play 2.4中新增的注入路由器,则可以将控制器转换为类.您需要在以下位置启用注入的路由器build.sbt:
routesGenerator := InjectedRoutesGenerator
Run Code Online (Sandbox Code Playgroud)
更新:注入的路由器现在是Play 2.5中的默认路由器
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |