GWT Cookies,在rpc期间设置时返回null

时间:2011-01-06 08:27:52

标签: java gwt cookies

我对GWT Cookies几乎感到很生气,

在我的一个应用程序中,我设置了一个RPC成功的cookie,但我试图在我的应用程序的另一个地方检索它,它返回null。

我知道在rpc成功中设置变量时,如果我们尝试在其他地方访问它,结果为null,那么如何设置一个cookie为rpc以便它不返回null?

编辑: - 我正在做这样的事情:

我在Main.java

RPC.getUserDetails(new AsyncCallback <String>())
{
  public void onSuccess(String result)
  {
      Cookies.set("UserDetails",result);
  }
}

现在在另一个file.java中,当我执行Cookies.get("UserDetails")时,我得到null

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在设置过期时间之后,我能够检索到它:

Date now = new Date();
long week = now.getTime();
week = week + (1000 * 60 * 60 * 24 * 7);
Cookies.setCookie("UserDetails", result, week);

还要确保您设置无安全 Cookie并检索无安全 Cookie。通过检查浏览器是否存在cookie文件来确保。并检查文件的内容。如果您在此帖后有问题,请在此处提供Cookie文件的内容。

答案 1 :(得分:0)

我也是这样尝试的:

Date expires = new Date(System.currentTimeMillis() + (1000 * 3600 * 24));
String categoriesCookieJson = asJson(allCategories);
System.out.println("inserting cat cookie lenth : " + categoriesCookieJson.toCharArray().length + " : " + categoriesCookieJson);
Cookies.setCookie(VU_ME_CATEGORIES_CACHE, categoriesCookieJson, expires);

String categoriesJsonCookieCache = Cookies.getCookie(VU_ME_CATEGORIES_CACHE);
System.out.println("cookie in chache " + categoriesJsonCookieCache);

它返回null并且没有cookie文件条目(查看ff firebug)

inserting cat cookie lenth : 8303 : {"categories":[{"id":"71","name":"Immoblier","children":[{"id":"76","parentKey":"71","name":"Terrain....

cookie in chache null

确定!!!因此,它与我的cookie内容的大小有关:

inserting cat cookie length : 8303 

我将不得不分割数据