我在Play项目中使用安全社交 . 我正在尝试使用我自己的电子邮件进行注册过程 .
这里有如何描述:
http://securesocial.ws/guide/views-customization.html
我的问题是,当我尝试在模板中创建absoute URL时出现错误:
@securesocial.controllers.routes.Registration.signUp(mailToken).absoluteURL(IdentityProvider.sslEnabled)
这是错误日志:
[error] play - 无法调用该操作,最终出现错误:java.lang.Runt imeException:此处没有可用的HTTP上下文 . [错误]申请 - ! @ 6j0al12dk - 内部服务器错误,用于(POST)[/ signup] - > play.api.Application $$ anon $ 1:执行异常[[RuntimeException:此处没有可用的HTTP上下文 . ]] at play.api.Application $ class.handleError(Application.scala:293)〜[play_ 2.10.jar:2.2.3] at play.api.DefaultApplication.handleError(Application.scala:399)[play_ 2.10.jar:2.2.3]正在播放 . core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 3 $$ anonfun $ applyOrElse $ 3.apply(PlayDefaultUpstreamHandler.scala:264)[play_2.10.jar:2.2.3] at play.core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 3 $$ anonfun
$ applyOrElse $ 3.apply(PlayDefaultUpstreamHandler.scala:264)[play_2.10.jar:2.2.3] scala.Option.map(Option.scala:145)[scala-library.jar:na]
at play.core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 3.applyOrE
lse(PlayDefaultUpstreamHandler.scala:264)[play_2.10.jar:2.2.3]引起:java.lang.RuntimeException:没有可用的HTTP上下文 . at play.mvc.Http $ Context.current(Http.java:30)〜[play_2.10.jar:2.2.3] at play.mvc.Http $ Context $ Implicit.ctx(Http.java:196)~ [ play_2.10.jar:2.2 .3]在views.core.j.PlayMagicForJava $ .requestHeader(TemplateMagicForJava.scal a:56)〜[play-java_2.10.jar:2.2.3]的views.html.custom . 在secinsocial.core.providers.utils的plugins.NekViews.getSignUpEmail(NekViews.scala:100)〜[classes /:na]中的mails.signUpEmail $ .apply(signUpEmail.template.scala:42)〜[classes /:na] .Mailer $ .sendSignUpEmail(Mailer.scal a:49)〜[securesocial_2.10-2.1.3.jar:2.1.3] [info] application - [securesocial] unloaded identity provider:userpass [info] application - [securesocial]卸载密码hasher bcrypt [info] play - 关闭应用程序默认的Akka系统 .
有谁知道错误是什么?
2 回答
您的模板需要隐式请求,这是获取绝对URL所必需的 .
此请求必须在呈现模板的方法中可用 .
我有一个非常相似的错误,如果不相同,可能你也在你的项目中混合一些Java代码 .
您必须在控制器中创建一个java上下文(在本例中为自定义视图控制器),供视图使用它 .
For example:
Scala助手创建一个java上下文
用法:
资料来源:dominikdorn.com