gpt4 book ai didi

scala - 玩 2.5.X : method current in object Play is deprecated: This is a static reference to application, 使用 DI 代替

转载 作者:行者123 更新时间:2023-12-02 00:51:59 24 4
gpt4 key购买 nike

我是 PlayFramework 新手。

请给我一个如何从我的角度访问配置参数的示例。我使用的是 PlayFramework 2.5.3

旧方式(@current 已弃用):

@current.configuration.getString("environment.param")

新方法(据我了解,应该注入(inject)配置):

我知道如何从 Controller 访问它。

@Inject() (val messagesApi: MessagesApi, configuration: Configuration)

从我的角度来看如何使用它?

最佳答案

遗憾的是,您对此无能为力。这就是 Play 引入 DI 时的情况,没有太多关于模板的讨论。一种可能的解决方案是:

  1. 在 Controller 中注入(inject)配置
  2. 将其隐式发送到您的 View /模板

    class Application @Inject() (implicit val config: Configuration) extends Controller {

    def index = Action {
    Ok(views.html.index("foo"))
    }
    }

您的模板将如下所示:

@(myParam1: Any)(implicit config: Configuration)
<h2>Some HTML here @myParam1 @config.getString("environment.param")</h2>
<小时/>

我完全意识到这在某种程度上违背了 DI 的目的,但现在就是这样。

关于scala - 玩 2.5.X : method current in object Play is deprecated: This is a static reference to application, 使用 DI 代替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36955237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com