Как получить URL реферера в игровой рамке - PullRequest
1 голос
/ 26 марта 2012

Я хочу перенаправить обратно на URL реферера в playframework, и я попытался записать этот URL после запроса функцией журнала в контроллере:

@After
public static void log(){
    session.put("referrer", request.url);
}

Это работает, но я не хочу писать то же самоекод в каждом контроллере.Когда я позволил всем контроллерам расширить класс AbstractController (который расширяет play.Controller) и поместил этот код в AbstracController, я получил эту ошибку:

Unexpected error : Cannot read parameter names for public static void controllers.AbstractController.log()

Может кто-нибудь мне помочь.Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

попробуйте добавить этот метод в служебный объект и аннотируйте свои контроллеры с помощью @With

public class ControllerUtil extends Controller{
    @After
    public static void log(){
        session.put("referrer", request.url);
    }
}

@With(ControlerUtil.class)
public MyController extends Controller{
   public static index(){
      render();
   }
}

В качестве альтернативы аннотируйте свои методы журналов с помощью @Util

ОБНОВЛЕНИЕ

Правильно, вам нужно, чтобы ваш ControllerUtil расширял контроллер.Если вы предпочитаете назвать его Application вместо ControllerUtil

2 голосов
/ 15 мая 2015
request.headers.get("referer");
...