因此,我的网页上有一个链接remove Advertisment
,该链接应该从我的网站中删除广告,并且不要在会话的其余部分显示任何广告。
我的方法首先是控制器中的私有静态变量,可以通过方法设置。
private static boolean Ads = true;
public static void closeAds() {
Logger.debug("Ads removed");
Ads = false;
}
我做了一些研究,发现play框架提供的session()
方法可能更合适。
无论如何我的问题是,我不知道如何在我的html页面中调用这些控制器方法,因为每个HTTP请求都必须有响应,而我不想重新加载我的页面,我只是想要设置变量或会话变量。
我认为Ajax可能就是答案?我还没想出任何东西
答案 0 :(得分:2)
Play会在已签名的Cookie中保留客户端的会话信息。
所以你有两个选择(我会选择第二个):
1)Ajax调用更新play的会话数据(因为你不想在客户端用javascript修改它,因为它是一个签名的cookie并且破坏了东西)
2)创建另一个用于保持广告开/关标志的cookie并在客户端通过javascript修改它,然后您可以在服务器端检查此cookie的值以实现广告开/关。这将阻止您进行额外的ajax调用。