如何在 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 中获取引荐来源网址的主要内容,如果未能解决你的问题,请参考以下文章
如何在Unity3d游戏中检索Android安装引荐来源网址