Html 在视图中使用application.conf属性播放Scala
我有一个链接,可以在我的应用程序中的一个视图中打开一个网站,我需要该网站依赖于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=“”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
任何帮助都将不胜感激 为了在播放模板中使用配置,您需要将其导入控制器,然后通过其构造函数将其提供给视图
@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。