scala play2.5如何将全局消息传递给模板
我有一个play2.5 scala项目,我想从控制器传递一条全局消息,例如,万一发生错误。如何在不使用表单全局消息的情况下实现这一点 例如,在HandlerRegisterError方法中,我想抛出一条全局错误消息,该消息将显示在页面顶部 最好的方法是什么 我正在使用旋转模板scala play2.5如何将全局消息传递给模板,scala,playframework,message,twirl,Scala,Playframework,Message,Twirl,我有一个play2.5 scala项目,我想从控制器传递一条全局消息,例如,万一发生错误。如何在不使用表单全局消息的情况下实现这一点 例如,在HandlerRegisterError方法中,我想抛出一条全局错误消息,该消息将显示在页面顶部 最好的方法是什么 我正在使用旋转模板 def registerUser = Action.async { implicit request => RegisterForm.form.bindFromRequest.fold( fo
def registerUser = Action.async { implicit request =>
RegisterForm.form.bindFromRequest.fold(
formWithErrors => {
Future.successful(BadRequest(views.html.register(formWithErrors)))
},
formData => {
registerUserService.registerUser(formData).map{ insertedId =>
Ok(views.html.index(""))
}
.recover {
case cause => handleRegisterError(cause)
}
})
}
def handleRegisterError(cause: Throwable)(implicit req: RequestHeader) : Result = {
cause match {
case dae: DataAccessException =>
//add an error message here
BadRequest(views.html.register(RegisterForm.form))
case _ =>
BadRequest(views.html.register(RegisterForm.form))
}
}
您应该能够使用
重定向
,并将消息附加到闪存
范围
Redirect(views.html.register(RegisterForm.form)).flashing("error" -> "Oops, you've got an error")
添加RequestHeader
作为模板参数,并呈现错误消息(如果已定义)
@(form: Form[RegisterForm])(implicit request: RequestHeader)
@request.flash.get("error").map { message =>
<div>@message</div>
}
@(表单:表单[RegisterPerform])(隐式请求:RequestHeader)
@request.flash.get(“错误”).map{message=>
@信息
}
如果我不想重定向怎么办?好吧,你可以将任何对象传递到Twirl templateoff当然这就是我最后实现它的方式,我只是想知道这样的东西是否已经内置了…无论如何,tnx的信息