2012-05-14 1 views
2

sous Jouer 1.4.x si je voulais inverser générer une URL que je pourrais utiliser quelque chose comme:Comment annuler la génération d'une URL à partir d'une route sur Play 2?

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

Selon Play infailliblement laconique 2.x documentation, sous Jouer avec 2 Scala je suis censé utiliser a Redirect:

val action = Action {Redirect(routes.MyAction.query(myParam))} 

Mais que faire avec l'action pour acquérir l'URL réelle?

Répondre

11
val relative = routes.MyAction.query(myParam).url 

ou absolue

val url = routes.MyAction.query(myParam).absoluteURL() 

ou https absolue

val securedUrl = routes.MyAction.query(myParam).absoluteURL(true) 
+1

Merci, cela fonctionne avec une demande implicite: 'def = blah action {Demande implicite => val url = routes.MyAction .query (myParam) .absoluteURL() ... ' – Sonson123

+0

Ne fonctionne pas dans la version 2.1.x," la requête de valeur n'est pas membre de play.api.mvc.Call " – FGRibreau

Questions connexes