Html 在视图中使用application.conf属性播放Scala

Html 在视图中使用application.conf属性播放Scala,html,scala,playframework,Html,Scala,Playframework,我有一个链接,可以在我的应用程序中的一个视图中打开一个网站,我需要该网站依赖于application.conf中设置的网站 立即查看: class=“导航链接”href=”https://my.website.com“target=“\u blank”> 这不起作用: class=“nav link”href=current.configuration.getString(“client.server.url”)target=“\u blank”> application.conf: clien

我有一个链接,可以在我的应用程序中的一个视图中打开一个网站,我需要该网站依赖于application.conf中设置的网站

立即查看:

class=“导航链接”href=”https://my.website.com“target=“\u blank”>

这不起作用:

class=“nav link”href=current.configuration.getString(“client.server.url”)target=“\u blank”>

application.conf:

client.server.url=“”


任何帮助都将不胜感激

为了在播放模板中使用配置,您需要将其导入控制器,然后通过其构造函数将其提供给视图

@Singleton
class FooController @Inject()(config:Configuration, cc: ControllerComponents) extends AbstractController(cc) {

  def bar = Action {
    Ok(views.html.baz(config))
  }

}
然后查看baz.scala.html

@(config:play.api.Configuration)

<a class="nav-link" href="@config.getString("client.server.url")" target="_blank">LINK</a>
@(配置:play.api.Configuration)

我使用例如
@{play.play.application.configuration.getString(“play.http.context”)}
但在版本2.6中可能会被弃用。只需使用您的配置参数交换
play.http.context

使用Scala可以通过多种方式访问游戏中的配置

下面是关于Play 2.7.x的工作

选项1:使用DI

import play.api.Configuration
.... other imports ...

class MyActor @Inject()(config: Configuration) extends Actor  {
 println(config.get[String]("akka_actor_custom_dispatcher"))
 println(config.get[String]("akka_actor_custom_dispatcher")) // w/o optional
 println(config.getOptional[Int]("value_1").getOrElse(2))    // with optional 
 .....
 }
import play.api.Configuration
.... other imports ...

class MyActor() extends Actor {
 val config = new Configuration(ConfigFactory.load("application.conf"))
 println(config.get[String]("akka_actor_custom_dispatcher"))
 println(config.get[String]("akka_actor_custom_dispatcher")) // w/o optional
 println(config.getOptional[Int]("value_1").getOrElse(2))    // with optional 
 .....
 }
选项2:不含DI

import play.api.Configuration
.... other imports ...

class MyActor @Inject()(config: Configuration) extends Actor  {
 println(config.get[String]("akka_actor_custom_dispatcher"))
 println(config.get[String]("akka_actor_custom_dispatcher")) // w/o optional
 println(config.getOptional[Int]("value_1").getOrElse(2))    // with optional 
 .....
 }
import play.api.Configuration
.... other imports ...

class MyActor() extends Actor {
 val config = new Configuration(ConfigFactory.load("application.conf"))
 println(config.get[String]("akka_actor_custom_dispatcher"))
 println(config.get[String]("akka_actor_custom_dispatcher")) // w/o optional
 println(config.getOptional[Int]("value_1").getOrElse(2))    // with optional 
 .....
 }

这是Play Framework-Twirl模板吗?可能是重复的感谢帮助无法解决以下错误:Ok(views.html.baz(config))在config上获取类型不匹配。“预期:字符串得到实际:配置。播放版本2.6.1,并且您的视图有这样一个参数?
@(config:Play.api.Configuration)
我这里有一个使用scala 2.12.6的项目,使用该代码编译的播放2.6。