Значение конфигурации Play Framework в представлении

Как я могу получить доступ к значению application.name из conf/application.conf в представлении?

Ответ 2

Обновление для Play 2.5.x

В Play Scala 2.5.x, метод current в объекте Play устарел. Чтобы прочитать значение из conf/application.conf, вы должны использовать DI вместо этого.

Inject play.api.Configuration в вашем контроллере:

class MyController @Inject() (val configuration: play.api.Configuration) extends Controller

Затем вы можете напрямую использовать configuration в своих методах:

def sayMyName = Action { request =>
   Ok("Your name is " + configuration.getString("application.name"))
}

Вы также можете использовать configuration в своем образе Twirl template:

def sayMyNameUsingView = Action { request =>
   implicit lazy val config = configuration
   Ok(views.html.index())
}

Отправьте введенный configuration как неявный в заданный index.scala.html

@()(implicit val configuration:play.api.Configuration)
<html>
  <body>
    <h1>Your name is @configuration.getString("application.name")</h1> 
  </body>
</html>

Ответ 3

Обновление для воспроизведения 2...

В Play Scala 2.3.x, чтобы прочитать значение из conf/application.conf, вы можете сделать следующее:

import play.api.Play.current
...
current.configuration.getString("application.name")