scala play2.5如何将全局消息传递给模板

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

我有一个play2.5 scala项目,我想从控制器传递一条全局消息,例如,万一发生错误。如何在不使用表单全局消息的情况下实现这一点

例如,在HandlerRegisterError方法中,我想抛出一条全局错误消息,该消息将显示在页面顶部

最好的方法是什么

我正在使用旋转模板

 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的信息