2014-06-12 4 views
9

PLAY FRAMEWORK JAVA:Play-Framework-2.2: Get URL des anfordernden Seite

Ich versuche, den Namen der URL zu erhalten, die die Controller-Funktion angefordert. Zum Beispiel haben ich ein Routen wie

GET /mypage controllers.Mypage.myfunction()

und ich habe eine andere Seite, die den gleichen Controller

GET /anotherpage controllers.Mypage.myfunction()

gibt es eine Möglichkeit, Anfragen an in Controllern zu finden, wenn die Anforderung aus ist /mypage oder von /anotherpage?

Dank

Antwort

18

Sie example.com:9000/login?param=test besuchen sagen, dann in Ihrem Controller-Funktion:

public static Result login() { 

    // set to "/login" -- The URI path without query parameters. 
    String path = request().path(); 

    // set to "/login?param=test" -- The full URI. 
    String uri = request().uri(); 

    // set to "example.com:9000" -- The host name from the request, with port (if specified by the client). 
    String host = request().host(); 

    ... 
} 
4

Sie nicht

In Scala Sprache erwähnen, so können Sie Pfad in der Steuerung von

val path= request.path 

oder

val path=request.uri 

ich dies im Spiel haben versucht, bekommen Rahmen 2.2 *


In Java

String path= request.path(); 

oder

String path=request.url(); 

nach diesem Link http://www.playframework.com/documentation/1.0.1/api/play/mvc/Http.Request.html

+0

Ich benutze JAVA .. kennen Sie die gleiche Syntax in Java Play Framework – Incpetor

+0

@ Inceptor361 haben Sie 'request.path' oder' request.url' in Java versucht? –

+0

Ich bekomme es als 'request.headers()' und dann überprüfen, ob die Zeichenfolge 'mypage' oder' anotherpage' enthält – Incpetor