securesocial не может отобразить сообщение об ошибке на настраиваемой странице входа

Я использую playframework 2.2 для разработки веб-сайта (язык Java), и я использовал securesocial, чтобы разрешить вход в систему через facebook/twitter. но после того, как я настроил свою страницу входа в систему в соответствии с рекомендациями securesocial, я обнаружил, что при возникновении ошибки не отображается сообщение об ошибке.

вот LoginView, я передаю msg для просмотра:


class LoginViews(application: play.api.Application) extends DefaultTemplatesPlugin(application)
{
 /**
   * Returns the html for the login page
   * @param request
   * @tparam A
   * @return
   */
  override def getLoginPage[A](implicit request: Request[A], form: Form[(String, String)],
                               msg: Option[String] = None): Html =
  {
      views.html.Login(msg)
  }
....
}

и это мой html:


@(msg: Option[String] = None)

@import play.api.mvc.Request
@import play.api.data.Form

@main("Login -- Tranest", null) {
    @msg.map { m =>
        
            @Messages(m)
        
    }
}

person disorderdev    schedule 03.11.2013    source источник


Ответы (1)


Файл cookie устанавливается с сообщением об ошибке по умолчанию (я думаю, вы можете настроить его) по запросу.
Попробуйте добавить это в контроллер и передайте ошибку ( Option[String]) в своем представлении.

val error = request.cookies.get("PLAY_FLASH").map(_.value)

Это должно помочь.

person Andrei Rafai    schedule 14.08.2014