我想从Play 2 Java中的控制器获取绝对URL。我找到了exact same question for Scala,但我不能用Java工作。
public class MyController extends Controller {
public static Result myMethod() {
return ok();
}
public static Result test() {
Logger.info(routes.MyController.myMethod().url); // Doesn't work !
Logger.info(routes.MyController.myMethod().absoluteURL()); // Doesn't work !
Logger.info(routes.MyController.myMethod().absoluteURL(true)); // Doesn't work !
return ok();
}
}
感谢您的帮助!
答案 0 :(得分:26)
向absoluteURL()
routes.MyController.myMethod().absoluteURL(request());
答案 1 :(得分:2)
我不确定这是否适用于2.0,但由于您使用的是Java,因此可能会有所帮助。我在1.2.4中使用它。
Router.getFullUrl("Controller.action")
祝你好运!
编辑:我导入了play.mvc.Router,所以如果2.0中没有这个,你可能会发现类似的内容。
另外,这是关于路由的播放2.0文档,请查看反向路由,也许它会有所帮助。
http://www.playframework.org/documentation/2.0.1/JavaRouting