2011-10-10 26 views
9

Làm cách nào để truy cập giá trị application.name từ conf/application.conf trong chế độ xem?Giá trị cấu hình khung chơi trong chế độ xem

+0

có thể trùng lặp của [Truy cập Play! 2.0 biến cấu hình trong application.conf?] (Http://stackoverflow.com/questions/9857907/access-play-2-0-configuration-variables-in-application-conf) – 030

Trả lời

16

Bạn có thể sử dụng mẫu mã sau đây để làm như vậy:

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

Xem thêm http://groups.google.com/group/play-framework/browse_thread/thread/1412ca8fc3edd22f

+0

cảm ơn. Đó chỉ là những gì tôi cần. – Ryan

+1

Để ghi lại: mọi thứ đã thay đổi với Play 2.0, điều này sẽ không hoạt động nữa. Xem http://stackoverflow.com/questions/9857907/access-play-2-0-configuration-variables-in-application-conf để có giải pháp Play 2.0. –

3

Cập nhật cho Chơi 2 ...

Trong Chơi Scala 2.3.x, để đọc một giá trị từ conf/application.conf, bạn có thể thực hiện như sau:

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

Cập nhật cho P nằm 2.5.x

Trong Play Scala 2.5.x, phương pháp hiện tại trong đối tượng Phát không được chấp nhận. Để đọc một giá trị từ conf/application.conf, bạn phải sử dụng DI thay vào đó.

Tiêm play.api.Configuration trong điều khiển của bạn:

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

Sau đó, bạn có thể trực tiếp sử dụng configuration trong phương pháp của bạn:

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

Bạn cũng có thể sử dụng configuration theo quan điểm của mẫu Twirl bạn:

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

Gửi tiêm configuration như ngầm đến cho index.scala.html

@()(implicit val configuration:play.api.Configuration) 
<html> 
    <body> 
    <h1>Your name is @configuration.getString("application.name")</h1> 
    </body> 
</html> 
Các vấn đề liên quan