2012-12-28 15 views
0

我有一个应用程序与6-7选项卡。我想要的只是当我关闭浏览器并再次打开浏览器时,页面数据应该保留,即页面的状态应该保持。现在在我的页面中,我有成千上万的值,比如几棵树,文本框和复选框等等。所以将所有这些值逐个存储在cookie中并不是一个好主意。如何保留页面数据(状态)在gwt除了使用cookie

我GOOGLE了很多,但我没有找到任何方式来做到这一点。任何人都可以帮助我找到解决方案吗?

+0

请解释反对 – Madhura

回答

1

没有神奇的解决方案。

你可能沿线的探索 -

Server Side approach - Activities and Places with Asyc calls to get the last stored values. 

Client Side approach - Activities and Places with HTML5 local storage. 

无论是会很容易进行排序缓存功能,你希望看到使用。

1

我怀疑你有成千上万的唯一值的页面上 - 这将意味着一个非常糟糕的设计。

更有可能的是,您有一棵树,每次用户访问此页面时都会显示相同的值(即某种类型的项目列表),以及与特定数据对象相对应的各种输入元素(例如,产品)。在这种情况下,该页面的整个状态可以概括为这样的事:

myWebSite/?#OrderForm:user=123&category=5&product=xyz&size=large 

当用户重新加载这个页面(或回来给它更高版本),你的应用程序可以分析此URL标记,它将确切地知道要显示给用户的内容:显示OrderForm及其所有面板,复选框等,加载并填充具有类别和产品的树,在菜单中设置类别5,将产品xyz设置为所选项目产品树,在详细信息面板中显示此产品的详细信息,并在尺寸列表框中选择较大的尺寸。

这是当然的,只是一个例子,但使用适当的应用程序设计的任何“页”应用程序内可以只用几个参数等极少数(通常一个)的数据对象进行说明。然后,您可以将此状态存储在URL标记中,cookie中,服务器会话中或存储在数据库中 - 根据您的要求,您可以有多种选择。

+1

URL中的信息很容易受到浏览器URL字符限制的限制。还要注意,每个文本框可以有很多字符,毫无疑问,文本区域小部件会抛出更大的扳手....有了6-7个选项卡,以上建议可能不如第一次显示的那样可行。 – SSR

+0

@SSR( 1)文本框中的文本既可以保存为数据对象属性,也可以使用正在编辑的标志保存数据对象的副本。您不会将每个复选框,文本框,textarea等存储在页面状态中。 (2)这就是为什么我说有很多选择:您可以将任何数据存储在服务器会话或数据库中。 –

+0

@Andrei Volgin: - 非常感谢您的建议。将它存储在服务器会话中是不可行的,因为用户关闭浏览器时会过期。但是将其存储在数据库中是可行的。我会在我的最后检查它的可行性。再次感谢。 :) – Madhura

相关问题