如何从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