`
wangxin0072000
  • 浏览: 86845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext与JavaEE之我见(第一部显示层部分)

    博客分类:
  • java
阅读更多

      本人最近分别用Ext1.1与Ext2.0开发了两个小规模的java web系统,主要目的是验证Ext作为J2EE前端显示层的可能性.我以前对YUI有一定了解,所以很快就能入手,在开发前对系统有一些构想(主要从Ext的例子与Ext官方论坛中其他同行的demo得到的灵感).当时对ajax并不了解,对js也使用不多.但是折服与Ext的UI效果,所以开始了对Ext的探索.主要有一下构想

1 尝试是否可以抛弃使用web前端框架比如struts等.原因是希望减少页面的跳转,改变原有的用户使用体验,另外是对本人对struts的不喜欢.

2 真正的实现OPOA的页面架构.原因时看到了Ext的tab效果.本人在之前开发的一个项目中得到了一个很大的教训:尽量不要让用户的页面有跳转.其原因是用户在跳转的时候往往希望看到之前页面的某些内容.所以如果以tab页的形式展现,就可以保留原有的页面内容.即当用户提交请求时让用户保留原有内容,同时在新的tab业中打开用户希望看到的内容.

3 使用layout布局,全局使用Ext的UI效果,提高系统显示层的视觉冲击力.

4 在看时,知道了一种技术是comet推的技术,希望可以通过Ext的某些控件模拟出这种效果.其实利用js原生语句也可实现部分效果.但是希望结合Ext UI,给用户更好的体验.

具体的实现方法与问题:

1针对第一点: 如果直接使用Servlet处理数据那么要写许多json对象与java对象转换的代码.但是可以使用json-lib减少部分工作,但是还是比较麻烦.所以在后期就全部专为使用DWRproxy.但是Ext.data.DWRproxy(本人是通过论坛找到的)的使用很难找到比较详细的样例,只能根据代码便用边体会.总之是以个很好的解决方案.个人感觉最好还是根据需求结合Servlet与DWR联合使用比较好.

2在这我遇到了一些问题,最初在center layout中嵌套tabpanel时总是发现有问题。之后改为使用多个center layout contentpanel时,解决了这个问题。但是在tab中嵌套grid的时候发现grid不能自动识别cm,所以必须为每一个视图配置一个cm,所以本人想扩展一个可以自动从代理数据源中识别出cm的组件,这样前端显示层的数据展现就可以不必考虑业务逻辑了。但是可能会丧失一些功能,因为很难自定义每个字段的renderer句柄函数。最后说明:根据本人的经验,目前Ext还不太适合开发单frame的OPOA系统,所以最好在tab中再嵌套其他页面,这样会比较易于开发,但是frame中嵌套的页面与外部的框架页面的交互又不太好。所以要根据具体需求选择具体方法。

3 在2.0中变化最大的就是layout部分了,记得在1.1时为了实现outlookbar的效果,我不得不在官方论坛找ux.accordion组件。而在新版本中有n多种layout的效果可供选择,而且嵌套也非常方便。另外提一句。在1.1版本中我们扩展Ext组件往往是先建立要扩展的类,之后这个类继承Objectable这个对象。而在新版本中有更好的方法,大家可以根据它的例子好好研究一下,你就会发现原来js还是真的很深奥

4 针对设想第四点:在于服务器的交互方面还是那两种方式Ext.data.Connection这个对象,或者使用DWR。没有什么新东西。友情提示:Ext组件中有很多控件本身提供了Ajax的连接接口比如Ext.form.Form中的submit方法中config中就有sccuss等句柄方法暴露给开发者,使用很方便。但是缺点也显而易见。就是不灵活。所以笔者建议大家如果有特殊需求时可以在button的电击事件或提交事件中使用Ext.data.Connection类或者使用Ext.Ajax.request方法(注意:这两者的区别是Ext.data.connection对象可以创建而Ext.Ajax对象不能创建,而只能使用其中的方法,因为它是单例的。具体请看Ext的api)。

其他心得体会会陆续提供,欢迎大家批评指正。

分享到:
评论
3 楼 wangxin0072000 2007-11-26  
fangzhouxing 写道
引用
是否可以抛弃使用web前端框架比如struts


1.最近后台改用 JBoss Seam 2.0,完全可以放弃MVC框架实现Ext客户端。

2.网格数据我采用Servlet+JSON方式,比DWRProxy灵活。

我也同意servlet要比DWRProxy灵活,所以我认为二者混合使用效果好些。有一些固定需求比如树,表格,这种固定数据源,固定功能的控件用DWRProxy比较合适,可以少些不少代码。
2 楼 fangzhouxing 2007-11-26  
引用
是否可以抛弃使用web前端框架比如struts


1.最近后台改用 JBoss Seam 2.0,完全可以放弃MVC框架实现Ext客户端。

2.网格数据我采用Servlet+JSON方式,比DWRProxy灵活。

1 楼 i_love_sc 2007-11-26  
感觉这个文章发在java版比较合适。

相关推荐

Global site tag (gtag.js) - Google Analytics