[英]State management in GWT?
如何在GWT应用程序中管理状态? 我在JSF开发方面经验丰富,每个bean的范围都是请求,会话,应用程序,对话,页面等等。如何在GWT中工作? 关于GWT状态管理的任何阅读技巧?
这取决于您是否将您的网站显示为基于浏览器的应用程序或一系列页面。 在应用程序样式中,用户很少离开应用程序的URL,因此GWT模块是长期存在的,服务器是相对无状态的。 在页面序列样式中,每次用户浏览到新URL时都会重新启动GWT模块,因此服务器必须维护状态以在每次页面加载时发送回客户端。
为应用程序样式编写状态管理使用与任何类型的桌面或服务器应用程序相同的模式。 您通常有一些服务对象代表与服务器(GWT-RPC或RequestFactory)进行数据交换,并且代理可供模块中需要状态的各种对象使用。 对象将它们的状态存储在字段中并且具有与其有用性相对应的生命周期(例如,窗口小部件与缓存与短暂的对比)。
好吧,一般来说我都是这样看的:通常,你的GWT应用程序是一个包含大量javascript代码的网站。 在该代码中,所有客户端java类的所有字段(成员变量)都是您的状态。 此外,您可以在动态网站的DOM中嵌入ID或变量值(例如,属性“xyz”作为标记的一部分)。 他们也为你的国家做出贡献。 因此,所有“数据”加上DOM都是状态。
在较粗糙的级别上,您可以在“#”符号后对URL中的状态进行编码。 它们被称为“地点”或“历史”,具体取决于您选择的实施方式。 (GWT的历史,mvp4g,......)
如果您需要某些用户管理,则可以在成功进行身份验证后从服务器请求令牌,将其本地存储在客户端(更改其状态),然后将其包含在每个服务器请求中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.