离职在即,也要花点时间把自己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可以找到,这里我贴一个我用的蛮爽的..
分享到:
相关推荐
ExtJS是一种基于JavaScript的开源富客户端框架,专为构建交互式Web应用程序而设计。这个"extjs资料大全"包含的资源全面覆盖了ExtJS的多个版本及其开发教程和文档,对于学习和掌握ExtJS有着极大的帮助。下面将详细...
本文将根据一个月的学习经验,总结一些对于初学者来说非常有用的小知识点。 #### 二、基础配置与属性 1. **`disabled` 属性**: - 作用:控制组件是否禁用。 - 示例代码:`disabled: true` - 说明:当设置为 `...
- **数据交互**:通过AJAX技术,ExtJS允许开发者在不刷新页面的情况下与服务器进行数据交互,从而实现流畅的用户体验。 ### 构建丰富的用户界面 ExtJS的一大优势是它提供的一系列复杂、丰富的用户界面组件,这些...
ExtJS是一个基于JavaScript的开源用户界面库,专为构建富客户端Web应用程序而设计。这个"extjs-2.2.zip"压缩包包含了ExtJS 2.2版本的所有资源,包括JavaScript库文件、API文档和其他可能的示例或工具。在这个版本中...
EXTJS Grid是一款强大的数据展示组件,广泛应用于Web应用开发中,尤其在数据密集型界面设计时,EXTJS Grid以其高效的数据加载、灵活的分页、排序、过滤和自定义功能而受到开发者青睐。本总结例子将深入探讨EXTJS ...
- **最佳实践**: 分享了一些在开发过程中积累的最佳实践,包括代码优化、性能提升等方面的经验总结。 #### 6. 学习资源与进阶指南 对于初学者来说,本书不仅提供了详细的理论介绍,还附带了丰富的实践指导。 - **...
- **组件体系结构**:ExtJS采用了一种组件化的设计思想,每个UI元素都被视为一个独立的组件,可以通过组合这些组件来构建复杂的用户界面。 - **丰富的UI控件**:提供了大量的内置UI控件,如表格、树形结构、网格等,...
它提供了丰富的用户界面组件集合,并支持多种数据交互方式,使得开发人员能够轻松地创建出类似桌面应用的网页体验。 #### 二、图书基本信息 - **书名**:《Learning ExtJS》 - **作者**:Shea Frederick、Colin ...
总结来说,这个压缩包提供了一个全面的学习资源,涵盖了从理论到实践的所有方面,适合初学者入门和经验丰富的开发者参考。通过阅读和研究这些内容,你可以了解到ExtJS如何帮助你构建高性能、响应式的Web应用,同时...
EXTJS是一个广泛应用于Web开发的JavaScript库,特别适合构建富客户端的桌面级应用程序。EXTJS 4.1.1是该库的一个版本,它在前一版本的基础上进行了一系列的优化和增强,为开发者提供了更多功能和更好的性能。下面将...
### EXTJS全套教程实例知识点详解 #### 一、EXTJS简介 EXTJS是一款基于JavaScript的开源前端框架,它提供了一套完整的用户界面组件库...无论是对于初学者还是有一定经验的开发者来说,这都是一份非常宝贵的学习资料。
2. **前后台通信**:组件支持与后端进行数据交互,动态加载树结构数据。 3. **响应式设计**:组件具有良好的响应式特性,能够在不同设备上正常工作。 4. **选择控制**:提供了对非叶子节点点击的控制选项,增强数据...
同时,它支持数据绑定,便于与服务器端进行数据交互。 2. **ExtJS 3.x API**: 3.0版本是一个重要的里程碑,增强了组件库,增加了许多新的控件,如TabPanel、AccordionLayout等。还引入了Ajax proxy,改进了数据处理...
ExtJS 是一个基于JavaScript的开源框架,它提供了大量的组件和UI元素,用于构建功能丰富的、交互式的Web应用。版本2.0是该框架的一个重要里程碑,包含了以下关键特性: 1. **组件化设计**:ExtJS 2.0 强调组件化...
5. **ExjsHotel.rar**:这个可能是基于ExtJs开发的一个酒店预订系统的示例项目,开发者可以从中学习到如何构建一个完整的业务应用,包括如何组织代码、如何实现交互逻辑、如何处理用户输入等。 6. **extjs实用开发...
总结来说,这个资源包提供了全面学习ExtJs的途径:理论书籍让你扎实基础,实例项目让你实战演练,而可视化工具则帮助你高效地设计界面。无论你是初学者还是有一定经验的开发者,这个资源包都能满足你的需求,助你在...
虽然这个文件名暗示它可能与Java编程语言相关,但考虑到其在EXTJS资料包中,我们可以推测这可能是作者或分享者通过Java开发者视角来探讨EXTJS的使用,或者是如何将EXTJS与Java后端技术结合的经验总结。在阅读这份...
- **定义与特点**:ExtJS是一个强大的客户端JavaScript框架,专为构建现代化、交互丰富的Web应用程序而设计。它独立于后端技术,可以在.NET、Java、PHP等多种语言环境中使用。 - **发展历程**:ExtJS最初基于YUI...
ExtJS 是一个强大的JavaScript应用程序框架,专为构建复杂的、数据驱动的Web应用界面而设计。这个压缩包"extjs-ebook"显然包含了关于ExtJS的重要资源,包括API中文文档、Ext手册以及一本名为"掏钱学ext.pdf"的电子书...