GWT的最佳数据绑定解决方案

你有没有使用GWT的众多半生不熟的数据绑定解决方案之一? 如果是这样,它的效果如何?

我想停止为GWT滚动我自己的绑定,但是在数据绑定空间中没有明显的赢家。

我更愿意使用未来的东西,例如GWT孵化器,但那里还没有。

我使用GWTDesigner并喜欢它,但它似乎也没有解决方案。

它是一个非常基本的缺失function。 你知道GWT团队是否计划增加对此的支持? 在那种情况下,也许我会等。

谢谢

如果对此有任何疑问,您应该使用GWT编辑器:

http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html

在未来的某个时刻,也将支持jsr 303validation。

你可以查看http://code.google.com/p/gwt-pectin/

SmartGWT( http://www.jroller.com/sjivan/entry/smartgwt_1_0_released )是产品smartclient的GWT API。 他们有一个很好的数据绑定解决方案,因为它是在考虑服务器端集成的情况下构建的。 但缺点是它不是纯粹的原生GWT框架。 它是另一个产品(Smart Client Framework)的JSNI包装器。

如果它将UI的数据绑定到模型(即绑定到某个模型对象的属性的文本框),则GWT具有称为UIBinder的库特征。 它尚未准备好用于生产,但显然(因此没有发布),但谷歌团队正在使用它(看起来它的工作非常好)。 查看此页面以获取一些信息http://code.google.com/p/google-web-toolkit-incubator/wiki/UiBinder

如果你在谈论从服务器返回模型对象的GWT RPC(比如hibernate对象),其他地方提到的Gilead可能值得一看 – 尽管我从未有过任何个人经历。

还有另一种方法,就是使用Javascript Object Overlays将json转换为它们在GWT中使用的等效类模型(适用于可以轻松生成json的grails等框架,但是它们的域模型不兼容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/ltearno/hexa.tools/blob/master/hexa.binding/README.md

几分钟前我刚刚在邮件列表中读到了一个所谓的GWTEventService 1.0已经发布。 我不完全确定,如果这是你想要的,但对我来说听起来很有希望。

让我引用该网站:

GWTEventService是一个基于事件的客户端 – 服务器通信框架。 它使用GWT-RPC和Comet / server-push技术。 客户端提供了一个高级API,可以将监听器注册到服务器,就像GUI组件一样 。 可以将事件添加到服务器端的上下文/域,并且客户端上的侦听器获知有关传入事件的信息。 服务器端完全独立于客户端实现,并且具有高度可配置性。 可以定义域以确定哪些事件对于不同的上下文是重要的。

也许这是一个适合你的解决方案。 我会试试看。

Gilead ,以前的Hibernate4GWT,“定义了一个PersistentRemoteService类,inheritance自RemoteServiceServlet以处理无缝持久的实体管理。” 它已经进行了多年的积极开发。

查看eclipse数据绑定3.5 for gwt

使用google-web-toolkit-incubator http://code.google.com/p/google-web-toolkit-incubator/wiki/Downloads?tm=2进行数据绑定。 uface没有编译版本,他们的源代码DOESNT按照他们的指示编译。 (在此之上的条目是指uface)。

请访问http://www.gdevelop.com/w/gwtxp/查看gwtXP。

gwtXP允许您以XML格式声明UI元素,数据绑定和操作处理程序。 例子:

  • 声明UI元素:
  • 声明数据绑定(使用Eclipse数据绑定):
  • 支持值绑定和列表绑定。
  • 声明动作处理程序:

更新于20010年3月6日:请访问http://www.gdevelop.com/w/blog/2010/03/06/data-binding-in-gwt/