如何在 playframework 中获取引荐来源网址

Posted

技术标签:

【中文标题】如何在 playframework 中获取引荐来源网址【英文标题】:How to get referrer url in playframework 【发布时间】:2012-03-26 03:01:18 【问题描述】:

我想在 playframework 中重定向回引荐来源网址,并且我尝试在控制器中的日志功能请求后记录此网址:

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

它有效,但我不想在每个控制器中编写相同的代码。当我让所有控制器扩展 AbstractController 类(扩展 play.Controller)并将此代码放入 AbstractController 时,我收到此错误:

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

谁能帮帮我。提前致谢。

【问题讨论】:

【参考方案1】:

尝试在实用程序对象中添加此方法并使用 @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 扩展 Controller。如果您更喜欢将其命名为 Application 而不是 ControllerUtil

【讨论】:

它不起作用。 ControllerUtil 类不扩展 play.mvc.Controller。因此它没有会话变量?我错过了什么吗? @JanusTroelsen: Play-1.2.3【参考方案2】:
request.headers.get("referer");

【讨论】:

以上是关于如何在 playframework 中获取引荐来源网址的主要内容,如果未能解决你的问题,请参考以下文章

PHP:如何获取引荐来源网址?

使用.htaccess从404页面获取引荐来源网址

在 ASP.NET 中获取 HTTP 引荐来源网址

如何在Unity3d游戏中检索Android安装引荐来源网址

无法使用延迟深层链接从 Facebook 实时广告中获取安装引荐来源网址值

如何使用从 Google Play 安装的 Google Analytics 跟踪引荐来源网址?