离职在即,也要花点时间把自己3年来的工作经验总结一下,从最开始的C++ Delphi .Net到现在的J2EE...也算玩了个遍。就从最近用的Extjs说起吧
Extjs作为页面表现层的RIA框架,其实已经能够完成90%的页面设计需求,也就是说,当你在项目中决定采用Extjs的时候,你就可以把你的美工和Struts,Spring-mvc等MVC框架或者其他的页面展现技术晾在一边了,Extjs提供的强大控件和扩展能力已经足够满足设计需求,当然缺点也不少- - 这个后面再说
由于Extjs完全替代了页面表现层,所以表现层和业务层的数据交互设计就显得尤为重要,下面说下我接触过的2个系统的架构设计
1) 兼容Struts的数据交互设计
这个是最近OA项目中用的方法,当系统中有大量表单或者从原有struts系统升级改造的话,这样的方法会减少不少原业务代码的修改。
Extjs所有的数据获取,包括表单和Grid,Tree等Ajax调用的数据,全部从Struts Action中获取,在Action里面可以返回数据JSON字符串,也可以通过Struts的Form直接映射到Extjs表单。
缺点也很明显:臃肿的系统层次,相当于再Struts上面再做了一层,而且当你页面的AJAX调用非常多的时候,Action就会显得比较混乱,而且也要注意Action的线程安全问题
2) 个人觉得比较理想的设计
引入DWR,来连接Extjs和业务逻辑层,Extjs的Ajax调用直接通过DWR proxy访问后台的业务Service 或者EJB
其中把事务拦截在业务接口层,Façade类设计为单例模式,这样整个系统就简洁很多了。由于Ext的控件初始化的时候都是传入参数对象,所以用Dwr来做数据传输的话,可以直接在Java后台组织Ext控件参数类 然后直接返回到页面初始化控件,这样就可以实现很多诸如动态表单,自定义界面等效果(后面会慢慢说到)
DWRProxy在Extjs官方Forum可以找到,这里我贴一个我用的蛮爽的..
分享到:
相关推荐
eclipse-ExtJs插件。 应该是目前写js和ExtJs最好的工具。 先到http://www.easyjf.com/上下载ExtJS2.0。 说明: 1,将下载的压缩包解压到eclipse的安装目录,完成后重启(自动会加载插件,也可CMD ECLIPSE目录 使用...
北风网--Extjs项目之个人理财项目(Extjs+S2SH+Mysql) 真正的完整版源代码
Jquery-Extjs4.0框架,用于前台页面开发的JS框架
模仿ExtJS qwikiOffice中右下角的消息提示框
使用ExtJs获取后台json格式的数据必须的七个jar包,commons-beanuti-1s-1.7.0.jar,commons-collections-3.1.jar,commons-lang-2.5.jar,commons-logging-1.0.4.jar,ezmorph-1.0.4.jar,json-lib-2.1.jar,...
struts2-extjs4.rar extjs4通过json和struts2进行交互的demo
asp.netCoolite-ExtJs简易新闻后台管理系统源码
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
Spket - ExtJS提示工具,并附带了需要加入ExtJS的提示内容文件ext-core-dev.js 一步到位
learning-Extjs国外第一本Ext译本
Extjs和数据库交互,增删改查Extjs和数据库交互,增删改查(修改测试通过)
由于最近本人在学习extjs,所以做了一个简单的extjs和后台交互的例子,和大家分享一下,因为本人积分不多,所以要点积分哈。
dojochina-extjs视频密码,下载下来的视频解压是要密码的
JavaScript.-Extjs基础学习笔记
ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。 功能丰富,无人能出其右。 无论是界面之美,还是功能之强,ext的表格控件都高居榜首。 单选行,多选行,高亮显示选中的行,拖拽...
Designer-extjsDesigner-extjsDesigner-extjsDesigner-extjsDesigner-extjsDesigner-extjs
eslint-plugin-extjs 使用ExtJS框架的项目的ESLint规则。 这些规则的目标是与ExtJS 4.x一起使用。 欢迎请求与5.x兼容的请求! 规则明细 ext-array-foreach ExtJS提供的两个主要的数组迭代器函数和不同之处在于, ...
JSP-ExtJS 2.2 图书管理系统.zip