我问这个问题,因为它与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;
}
答案 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提供了一些解决方法,但它看起来不是一个优雅的解决方案。