我们如何在play scala控制器中调用其他控制器的函数

时间:2017-09-01 13:00:51

标签: scala playframework playframework-2.5

在Play Scala 2.5应用程序中,我将控制器定义为 -

 class Application @Inject() (ws:WSClient) extends Controller{

现在,我想调用另一个控制器类 - ConfigReader的函数readConfig() 有没有办法做到这一点,如果我没有为控制器中共享功能的特定用例使用服务?

在游戏2.4中,将控制器作为对象,我可以使用Appliation.readConfig()轻松完成。我们怎样才能将控制器作为类来实现呢?

1 个答案:

答案 0 :(得分:0)

注入控制器实例:

如果你有:

class ConfigReader @Inject() (ws:WSClient) extends Controller {
  def readConfig() = ???
}

您应该能够将其注入其他控制器:

class Application @Inject() (ws:WSClient, configReader: controllers.ConfigReader) extends Controller {
  def get() = Action {
    configReader.readConfig()
  }
}