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

jon*_*son 2 scala playframework-2.0

在Play 1.4.x下,如果我想反向生成一个URL,我可能会使用以下内容:

Map<String, Object> map = new TreeMap();
map.put("myParam", myParam);
ActionDefinition ad = Router.reverse("MyAction.query", map);
String url = ad.url;
Run Code Online (Sandbox Code Playgroud)

根据可靠的简洁的Play 2.x 文档,在Play 2下使用Scala,我应该使用重定向:

val action = Action {Redirect(routes.MyAction.query(myParam))}
Run Code Online (Sandbox Code Playgroud)

但是我如何处理获取实际URL的操作?

Som*_*tik 11

val relative = routes.MyAction.query(myParam).url
Run Code Online (Sandbox Code Playgroud)

或绝对的

val url = routes.MyAction.query(myParam).absoluteURL()
Run Code Online (Sandbox Code Playgroud)

或绝对https

val securedUrl = routes.MyAction.query(myParam).absoluteURL(true)
Run Code Online (Sandbox Code Playgroud)