职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 605|回复: 14

GWT中有没有Model的概念呀(就是可以绑定textField的值到某个对象)

  [复制链接]
yoyo 发表于 2011-7-28 10:22 | 显示全部楼层 |阅读模式
如果我有个domain 对象有许多的property,如果每个property都需要去手工设值的话, 就太多代码了。

有没有form validator 这些东西?  在网上找了很久 没有找到相关的东西。 看了这个组件FormPanel 但是好像也是完成一般的传Name Value Pair到servlet而已。


fossil 发表于 2011-7-28 10:22 | 显示全部楼层
开发一个Form组件与valida listener,能够匹配正则表达式,通过按钮onclick事件触发该listener。



月上萧萧 发表于 2011-7-28 10:22 | 显示全部楼层
gwt有一个相关的validator的项目,在code.google.com上
关于model,gwt没有提供,只有自己扩展了

秋秋 发表于 2011-7-28 10:22 | 显示全部楼层
恩。  我也觉得这快上gwt上是空白。 如果对于很多field的话。 你需要很多代码来装配。 如果有个model的概念的话。 会方便不少。 不过可能gwt本来就不合适做这种大量的crud的工作。 这种工作可能用传统的web框架更好。

PS: 二楼兄弟的照片是不是太××××××了     

月上萧萧 发表于 2011-7-28 10:23 | 显示全部楼层
对于model的实现,其实关键在于model的值如何和组件对应上的实现上面,关于这一点可以参考网址http://www.zenika.com/blog/2007/08/03/gwt-data-binding-english-version/
上面介绍了一种如何在gwt中将一个bean的属性邦定到gwt组件的一个简单实现。
其实难点在于reflection上面,gwt不支持反射。在上面的网址下载代码分析可知,它是动态的生成了一个wrapper类,用来访问邦定bean的属性。

愚人 发表于 2011-7-28 10:23 | 显示全部楼层
stone
对于model的实现,其实关键在于model的值如何和组件对应上的实现上面,关于这一点可以参考网址http://www.zenika.com/blog/2007/08/03/gwt-data-binding-english-version/
上面介绍了一种如何在gwt中将一个bean的属性邦定到gwt组件的一个简单实现。
其实难点在于reflection上面,gwt不支持反射。在上面的网址下载代码分析可知,它是动态的生成了一个wrapper类,用来访问邦定bean的属性。


不错。 这位兄弟有用gwt做过项目吗? 我只是对gwt有些关注。 model这个概念竟然没有。回去看看这篇文章。




broken 发表于 2011-7-28 10:23 | 显示全部楼层
谢谢  stone.提供这样一篇这样精彩的文章。 http://www.zenika.com/blog/2007/08/03/gwt-data-binding-english-version/

这篇文章里面的实现确实很棒。 其实这篇文章里面的例子还有很多改进和丰富的地方。我们甚至可以把这个做成一个gwt的databinding  的项目。使得gwt也可以有像tapestry, Wicket的model databinding的东西。

楠楠 发表于 2011-7-28 10:23 | 显示全部楼层
怎么说gwt呢?确实如他的定义一样,只是一个工具,对java程序员来说只是一种玩js的工具。但如果真正的使用gwt编写一个应用,还有待一个完整的gwt框架。gwt是提供了很多组件,java程序员可以使用这些组件直接编写可交互的web ui的东东,但真正用于app的开发时,这些组件就有些捉襟见肘,而且css的定义,event的处理,都要提到一个高的层次来。

江南枫 发表于 2011-7-28 10:23 | 显示全部楼层
stone
怎么说gwt呢?确实如他的定义一样,只是一个工具,对java程序员来说只是一种玩js的工具。但如果真正的使用gwt编写一个应用,还有待一个完整的gwt框架。gwt是提供了很多组件,java程序员可以使用这些组件直接编写可交互的web ui的东东,但真正用于app的开发时,这些组件就有些捉襟见肘,而且css的定义,event的处理,都要提到一个高的层次来。


对于gwt的UI, 我确实感觉比直接用html更不爽。 gwt基本上都是用css来控制样式,对于我这种对css感知能力不是很强的人来说,就不太好控制gwt的UI。而且现在的美工都是先画页面原型。这样要apply到gwt上的话,又要多做许多工作。


对于gwt的event机制感觉还是不错的。 这点上基本上跟Swing的事件机制差不多。 就是要注意sink你想要的事件。

对于gwt的model, 昨天晚上想了一下。 我希望能做到下面的代码这样。

Model pModel = new Model(new Person());   //model的构造函数中进行PersonWrapper的构造和封装。

PopulateForm pf = new PopulateForm(submitButton);

pf.addBinding(new BTextBox(pModel, "firstName"));
pf.addBinding(new BTextBox(pModel, "address"));
pf.addBinding(new BTextBox(pModel, "age"));

//Ok, 当我点了submitButton之前。 Person的firstName address age属性都populate到Person对象上了。

现在那篇文章都是正对TextBox, 我没有可以让Wrapper的接口的getAttribute返回Object。 还有可以获取嵌套的对象的属性。如:  new BTextBox(pModel, "contect.address"0) 等等。





会玩就好 发表于 2011-7-28 10:23 | 显示全部楼层
stone
怎么说gwt呢?确实如他的定义一样,只是一个工具,对java程序员来说只是一种玩js的工具。但如果真正的使用gwt编写一个应用,还有待一个完整的gwt框架。gwt是提供了很多组件,java程序员可以使用这些组件直接编写可交互的web ui的东东,但真正用于app的开发时,这些组件就有些捉襟见肘,而且css的定义,event的处理,都要提到一个高的层次来。


可以看看MyGWT这个纺extjs的gwt widgets。 http://www.iteye.com/topic/132893

这个应该能让gwt开发的东西更漂亮。


Jethro 发表于 2011-8-1 10:46 | 显示全部楼层
看看...............
紫衿 发表于 2011-8-9 10:58 | 显示全部楼层
謝謝,希望以後多些
秋秋 发表于 2011-8-10 10:55 | 显示全部楼层
呵呵 大家好奇嘛 来观看下~~~~
曾经的小孩 发表于 2011-8-10 10:55 | 显示全部楼层
哈哈~~~相比现在没人在了 吧 哈哈~~~~
走就走吧 发表于 2011-8-18 13:52 | 显示全部楼层
貌似我没看懂那~~~
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-28 15:25 , Processed in 0.138680 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表