2011-10-10 130 views
9

如何在視圖中從conf/application.conf訪問值application.name播放框架配置值的視圖

+0

[訪問的可能重複播放! 2.0配置變量在application.conf中?](http://stackoverflow.com/questions/9857907/access-play-2-0-configuration-variables-in-application-conf) – 030

回答

16

您可以使用下面的代碼示例這樣做:

${play.configuration['application.name']} 

另見http://groups.google.com/group/play-framework/browse_thread/thread/1412ca8fc3edd22f

+0

謝謝。那正是我需要的。 – Ryan

+1

有關記錄:隨着Play 2.0的改變,這一切都不再起作用。有關Play 2.0解決方案,請參閱http://stackoverflow.com/questions/9857907/access-play-2-0-configuration-variables-in-application-conf。 –

3

更新播放2 ...

在玩斯卡拉2.3.x版本,讀取值從conf/application.conf,您可以執行以下操作:

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

P lay 2.5.x

在Play Scala 2.5.x中,對象Play中的方法當前不推薦使用。爲了從conf/application.conf中讀取一個值,你必須改用DI。

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

然後,你可以直接使用configuration在你的方法:

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

您也可以在您的視圖旋轉扭曲模板中使用configuration

進樣在控制器play.api.Configuration

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>