您是否曾经为 GWT 使用过许多半生不熟的数据绑定解决方案之一?如果是这样,它的效果如何?
我想停止为 GWT 滚动我自己的绑定,但在数据绑定领域没有明显的赢家。
我更喜欢使用未来的东西,例如 GWT Incubator,但那里还没有。
我使用 GWTDesigner 并且喜欢它,但它似乎也没有解决方案。
它是一个非常基本的缺失功能。您知道 GWT 团队是否计划为此添加支持?在那种情况下,也许我会等。
谢谢
您是否曾经为 GWT 使用过许多半生不熟的数据绑定解决方案之一?如果是这样,它的效果如何?
我想停止为 GWT 滚动我自己的绑定,但在数据绑定领域没有明显的赢家。
我更喜欢使用未来的东西,例如 GWT Incubator,但那里还没有。
我使用 GWTDesigner 并且喜欢它,但它似乎也没有解决方案。
它是一个非常基本的缺失功能。您知道 GWT 团队是否计划为此添加支持?在那种情况下,也许我会等。
谢谢
如果现在对此有任何疑问,您应该使用 GWT 编辑器:
http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html
将来某个时候也会支持 jsr 303 验证。
SmartGWT ( http://www.jroller.com/sjivan/entry/smartgwt_1_0_released ) 是产品 smartclient 的 GWT API。他们有一个很好的数据绑定解决方案,因为它在构建时考虑到了服务器端集成。但缺点是它不是一个纯原生的 GWT 框架。它是另一个产品(智能客户端框架)的 JSNI 包装器。
如果它的 UI 数据绑定到模型(即文本框绑定到某个模型对象的属性),那么 GWT 有一个称为 UIBinder 的库功能。它显然还没有完全准备好用于生产(因此未发布),但 google wave 团队正在使用它(并且看起来它工作得很好)。查看此页面以获取一些信息http://code.google.com/p/google-web-toolkit-incubator/wiki/UiBinder
如果您谈论的是 GWT RPC 从服务器返回模型对象(例如休眠对象),那么其他地方提到的Gilead可能值得一看——尽管我从未有过任何个人经验。
还有另一种方法,即使用 Javascript Object Overlays 将 json 转换为在 GWT 中使用的等效类模型(适用于像 grails 这样可以轻松生成 json 的框架,但它们的域模型与 RPC 不兼容)。查看这些博客文章,了解有关http://raibledesigns.com/rd/entry/json_parsing_with_javascript_overlay的一些提示(以及http://googlewebtoolkit.blogspot.com/2008/08/getting-to-really-know-gwt-part -2.html )
我建议你试试 HexaBinding,它是非侵入性的,只专注于 dara 绑定。这是链接:https ://github.com/learno/hexa.tools/blob/master/hexa.binding/README.md
几分钟前,我刚刚在一个邮件列表中读到它,所谓的GWTEventService 1.0已经发布。我不完全确定,如果那是你想要的,但这对我来说听起来很有希望。
让我引用该网站:
GWTEventService 是一个基于事件的客户端-服务器通信框架。它使用 GWT-RPC 和 Comet / server-push 技术。客户端提供了一个高级 API,可以将侦听器注册到服务器,就像注册到 GUI 组件一样。事件可以添加到服务器端的上下文/域中,客户端的侦听器会收到有关传入事件的通知。服务器端完全独立于客户端实现并且是高度可配置的。可以定义域来决定哪些事件对不同的上下文很重要。
也许这对你来说是一个解决方案。我会试一试。
Gilead,前身为 Hibernate4GWT,“定义了一个 PersistentRemoteService 类,继承自 RemoteServiceServlet 以处理无缝持久的实体管理。” 几年来,它一直在积极开发中。
在http://www.gdevelop.com/w/gwtxp/查看 gwtXP 。
gwtXP 允许您在 XML 中声明 UI 元素、数据绑定和操作处理程序。例子:
20010 年 3 月 6 日更新:参见http://www.gdevelop.com/w/blog/2010/03/06/data-binding-in-gwt/上的帖子
使用 google-web-toolkit-incubator http://code.google.com/p/google-web-toolkit-incubator/wiki/Downloads?tm=2进行数据绑定。uface 没有编译版本,他们的源代码不会按照他们的指示编译。(此条目上方的条目是指 uface)。