2

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

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

        @Override
            public Call afterAuth() {

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

                    return routes.Application.mobile_index();

       *ELSE*

                    return something.else;
            }
4

1 回答 1

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

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

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

于 2013-04-28T14:11:39.990 回答