2012-06-22 12 views
16

Mutlak URL'yi, Play 2 Java'daki bir denetleyiciden almak istiyorum. exact same question for Scala'u buldum, ancak Java'da çalışamıyorum.Play 2 Java'daki bir rotadan mutlak bir URL nasıl geri alınır?

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

Yardımlarınız için teşekkürler!

cevap

25

getFullUrl` görünüşte 2.0 içinde yok `denedim absoluteURL()

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

Sadece bir not: Bu, absoluteURL etki alanını bulmak için Request nesnesini kullandığı için çalışır. –

+0

ama bu Scala için Play 2.2'de çalışmıyor. –

2

Bunun 2.0’da çalışıp çalışmadığından emin değilim, ancak Java’yı kullandığınız için hile yapabilir. 1.2.4'de kullanıyorum.

Router.getFullUrl("Controller.action") 

İyi şanslar!

Düzenleme: play.mvc.Router dosyasını içe aktarıyorum, eğer 2.0 sürümü mevcut değilse, benzer bir şey bulabilirsiniz.

Ayrıca, bu oyunun yönlendirme hakkındaki 2.0 dokümantasyonu, ters yönlendirmeyi kontrol et, belki yardımcı olacaktır.

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

+0

isteği ekleyin ama:/ –

+0

Çok kötü, bu oldukça faydalı oldu. Dokümanlardan okuduğum her şeyden, bir kontrolör, güzergahlar içinde her kullanıldığı zaman, bir ters denetleyici üretir. Bu 'controllers.routes.Controller.action (args) 'gibi görünüyor. Cevabımı belgenin bağlantısıyla düzenledim. – Alex

+0

+1 1.2.4 referansı için –

İlgili konular