获取当前页面的URL

时间:2013-04-28 14:00:31

标签: playframework playframework-2.0

我问这个问题,因为它与another我的一个帖子松散相关。

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

        @Override
            public Call afterAuth() {

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

                    return routes.Application.mobile_index();

       *ELSE*

                    return something.else;
            }

1 个答案:

答案 0 :(得分:5)

您可以使用Request实例获取主机的网址:


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());
  }
}

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

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