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

我想从Play 2 Java中的控制器获取绝对URL。 我为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(); } } 

谢谢你的帮助 !

添加对absoluteURL()请求

 routes.MyController.myMethod().absoluteURL(request()); 

我不确定这是否适用于2.0,但由于您使用的是Java,它可能会起作用。 我在1.2.4中使用它。

 Router.getFullUrl("Controller.action") 

祝你好运 !

编辑:我导入play.mvc.Router所以如果在2.0中不存在,你可能会发现类似的东西。

另外,这是关于路由的play 2.0文档,检查反向路由,也许它会有所帮助。

http://www.playframework.org/documentation/2.0.1/JavaRouting