PlayFramework:模板和Razor语法

时间:2014-12-15 19:38:30

标签: scala razor playframework

下面是一个用于生成HTML电子邮件的模板...我想根据用户的时区将当前时间放在正文中:

@(user: models.auth.User)(implicit request: RequestHeader, lang: Lang)

@import org.joda.time.{DateTime, DateTimeZone}
@import org.joda.time.format.DateTimeFormat

...

@user.timeZone.map { tz =>
  var timeZone = DateTimeZone.forId(tz)
  val formatter = DateTimeFormat.mediumDateTime.withZone(timeZone)
  val currentTime = formatter.print(DateTime.now)
  <p>@Messages("email.timestamp", currentTime)</p>
}
<p>@Messages("email.salutation")</p>

上面的代码无法编译,因为编译器在调用currentTime时找不到@Messages

currentTime传递给@Messsages的语法是什么?

1 个答案:

答案 0 :(得分:1)

尝试

@defining({ //代码计算时间    }){currentTime =&gt;    

@currenTime

   }