获取当前页面的URL

2 playframework playframework-2.0

我问这个问题,因为它与我的一篇文章松散相关.

是否可以在播放框架(2.0.4)中检索当前加载的页面的URL?例如,如果我想修改此方法:

        @Override
            public Call afterAuth() {

       *IF CURRENT URL = "localhost:9000/mobile" 

                    return routes.Application.mobile_index();

       *ELSE*

                    return something.else;
            }
Run Code Online (Sandbox Code Playgroud)

Gre*_*bin 5

您可以使用Request实例获取主机的url相关信息:


public static Result someControllerMethod() {
  String uri = request().uri();
  if (routes.Application.mobile_index().url().equals(uri)) {
    return ok(views.html.mobile_main.render());
  } else {
    return ok(views.html.index.render());
  }
}
Run Code Online (Sandbox Code Playgroud)

实际上我不知道有关您的应用程序架构的详细信息,但您可以将Http.Context传递给您的登录处理程序.

更新 我不熟悉play-authenticate模块.我只是查看了这个源代码,并且不知道如何在Resolver方法中访问Http.Context.我发现只有这个问题提出了一些解决方法,但它看起来不像一个优雅的解决方案.