2014-06-12 2 views
9

ВОСПРОИЗВЕДЕНИЯ РАМОЧНОГО JAVA:Play Framework 2.2: Получить URL запрашивающей страницы

Я пытаюсь получить имя URL, который запрашивал функцию контроллера. Например, У меня есть маршруты как

GET /mypage controllers.Mypage.myfunction()

и у меня есть другая страница, которая запрашивает тот же контроллер

GET /anotherpage controllers.Mypage.myfunction()

есть способ, чтобы найти в контроллерах, если запрос от /mypage или от /anotherpage?

Благодаря

ответ

18

Say вы посещаете example.com:9000/login?param=test, то в вашей функции контроллера:

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

вы не упомянули язык

В Scala вы можете получить путь в контроллер с помощью

val path= request.path 

или

val path=request.uri 

я попытался это в игре структура 2.2 *


В Java

String path= request.path(); 

или

String path=request.url(); 

согласно этой ссылке http://www.playframework.com/documentation/1.0.1/api/play/mvc/Http.Request.html

+0

Я использую JAVA .. знаете ли вы тот же синтаксис в платформе Java Play – Incpetor

+0

@ Inceptor361 вы пробовали 'request.path' или' request.url' в java? –

+0

Я получаю его как 'request.headers()' и проверяю, содержит ли строка 'mypage' или' anotherpage' – Incpetor

Смежные вопросы