如何从Play 2 Java上的路由反向生成绝对URL?

时间:2012-06-22 14:56:11

标签: java url playframework playframework-2.0

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

感谢您的帮助!

2 个答案:

答案 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