关键字:extjs desktop mvc
折腾了一阵子extjs desktop示例与mvc的集成,有几种方案整理一下:
1.用老外改写过的extjs desktop,老外彻彻底底的对desktop示例动了大手术,彻底支持mvc,项目地址
https://github.com/derAndreas/Webdesktop
这玩意改动太大了,往java项目里面集成太麻烦,放弃。
2.csdn里面有位牛人写了一个模仿京东商城的后台系统,也是mvc模式的desktop应用,他的思路是desktop就用原汁原味的extjs自带的,然后在具体的菜单被点击后的createWindow里面再新建一个extjs mvc的 application,相当于一个功能模块一个mvc application的应用方式。
原作者博文地址:
http://blog.csdn.net/zhangshuaipeng/article/details/7489159
关键代码:
createWindow: function () { var desktop = this.app.getDesktop(); var win = desktop.getWindow('address'); Ext.application({ name: 'FMApp.CustomerApp', //应用的名字 appFolder: "FMApp/CustomerApp", //应用的目录 launch: function () {//当前页面加载完成执行的函数 if (!win) { win = desktop.createWindow({ id: 'address', title: '收货地址管理系统', width: 580, height: 380, iconCls: 'icon_address', // animCollapse: false, border: false, hideMode: 'offsets', closable:true, closeAction:"destroy", layout:"fit", items:{xtype: 'addressgrid'} }); }; win.show(); return win; }, controllers: [ 'AddressController' ] });
3.刚刚新鲜出炉的我自己折腾的整合方式,大体思路是还是一个extjs mvc application,然后在app.js里面去创建extjs desktop,然后在 desktop的菜单或者桌面图标被点击后动态加载extjs controller,然后动态创建ui出来。
关键代码:app.js
var application; var _myDesktopApp; Ext.tip.QuickTipManager.init(); Ext.Loader.setConfig({ disableCaching:true, enabled: true, paths: { 'Ext.ux.desktop': 'static/js/lib/desktop', 'MyDesktop': 'js/xxx/xxx_desktop' } }); Ext.require('MyDesktop.App'); application =new Ext.application({ requires: [ 'Ext.window.MessageBox', 'Ext.container.Viewport' ], name: 'app', appFolder:'js/xxx/app', autoCreateViewport: false, launch: function() { var me = this; Ext.QuickTips.init(); _myDesktopApp = Ext.create('MyDesktop.App'); _myDesktopApp.application=me; } });
然后在具体的菜单被点击后的代码里面动态加载controller,关键代码:
createWindow : function(src){ var desktop = this.app.getDesktop(); var win = desktop.getWindow('窗口'+src.windowId); var controller_name="app.controller.ClassInfo"; if (!Ext.ClassManager.isCreated(controller_name)) { //实现动态加载controller var _controller=this.app.application.getController(controller_name); _controller.app=this.app; } if(!win){ //动态创建mvc的view var list_view=Ext.widget("ClassInfo_List"); win = desktop.createWindow({ id: 'bogus'+src.windowId, title:src.text, layout:"fit", width:640, height:480, items:[list_view], iconCls: 'bogus', animCollapse:false, constrainHeader:true }); } win.show(); return win; }
这就行啦,extjs desktop和mvc的整合就搞定了,灰常的简单,耗费了老子N多的脑细胞。
以后在controller里面需要弹出窗口的话记得用desktop.createwindow去创建,代码如下:
var _view=Ext.widget("ClassInfo_Add"); var desktop = this.app.getDesktop(); var add_form_win = desktop.createWindow({ id: 'class_info_add', title:'新增', layout:"fit", width:440, height:280, closable:true, closeAction:"destroy", items:[_view], iconCls: 'bogus', animCollapse:false, constrainHeader:true }); //var add_form_win=Ext.widget('ClassInfo_Add'); add_form_win.down('form').loadRecord(new_record); add_form_win.show();
相关推荐
在EXTJS 4.2 Desktop MVC中,桌面环境被模拟出来,使得Web应用看起来和操作起来更像传统的桌面应用。 EXTJS 4.2 的核心特性包括: 1. **组件化**:EXTJS提供了一整套可重用的UI组件,如表格、面板、表单、树、图表...
总结来说,这个“自己写的ExtJS4.0用MVC的示例”展示了如何利用MVC模式在客户端构建复杂的应用程序,提供了良好的代码组织和可维护性。通过研究这个示例,你可以学习到如何有效地使用模型、视图和控制器,以及它们...
在ExtJS 4.2 Desktop拓展中,开始菜单可以有层次结构,用户可以轻松地浏览和启动各种应用程序。这通常通过树形组件(TreePanel)实现,允许动态加载子节点,提供良好的用户体验。 此外,描述中提到的“修正ExtJS ...
ExtJS MVC示例是基于ExtJS 4.2.0框架的一个典型应用场景,它展示了如何在Web应用中利用MVC(Model-View-Controller)设计模式进行开发。MVC模式是一种软件设计模式,用于分离应用程序的数据、用户界面和逻辑控制,以...
严格按照MVC架构分的曾,可以运行的extJs4.2MVC示例,在myclipse加到一个项目里的的webroot文件夹下,运行index.html即可
ExtJS4 + ASP.NET MVC Demo是一个结合了前端ExtJS4框架和后端ASP.NET MVC架构的应用示例,展示了如何在Web开发中实现数据操作的增删改查功能,并且利用了ExtJS4的MVC模式来提高代码的组织性和可维护性。这个Demo还...
这个简单的示例展示了如何在ExtJS中使用MVC模式创建一个基本的数据展示应用。在实际项目中,你可以根据需求扩展模型、视图、控制器以及应用配置,构建更复杂的交互和功能。记住,MVC模式的主要优点在于提高了代码的...
综上所述,《Extjs6示例中文版》不仅提供了详细的ExtJS6教程,还分享了作者的实践经验和个人见解,这对于想要深入学习和掌握ExtJS6的开发者来说是一份宝贵的资源。通过学习本书,读者不仅可以了解ExtJS6的基础知识和...
在本项目中,"ExtJS桌面化(desktop)插件Demo项目"展示了如何利用ExtJS的桌面化功能创建一个类似于传统桌面应用的用户界面。这个Demo项目的核心在于对"desktop"插件的定制和应用,该插件提供了构建桌面样式的应用程序...
在ExtJS 4中,MVC模式被进一步强化和优化,成为构建大型、复杂Web应用的基础。以下是对ExtJS 4 Desktop MVC模式的详细说明: 1. **Model(模型)**:模型层负责处理和存储数据。在ExtJS中,可以使用Ext.data.Model...
ExtJS DeskTop
最新版本,ExtJS6 MVC 精简示例!!!,一个可以参考的小例子!
在Spring MVC中,Hibernate可以通过Spring的数据访问/集成(Data Access/Integration)支持进行配置,例如使用`SessionFactory`和`Session`对象进行CRUD操作。此外,还可以利用Hibernate的`@Entity`注解来标记实体类...
只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载
【ExtJS4.0项目教程(MVC)】是一个针对ExtJS 4.0框架的教程,主要关注其MVC架构的应用。MVC(Model-View-Controller)是一种设计模式,用于分离应用程序的数据模型、用户界面和控制逻辑,使得开发更易于维护和扩展...
在"extjs在ASP.NET MVC4的使用"这个主题中,我们主要关注的是如何在MVC4项目中集成和利用ExtJS的功能。以下是一些关键知识点: 1. **创建ASP.NET MVC4项目**:首先,我们需要创建一个新的ASP.NET MVC4项目。在...
下面将详细探讨EXTJS 4.0中的MVC概念以及在示例代码中可能涉及的关键知识点。 **1. MVC模式概述** MVC模式是一种软件设计模式,用于将业务逻辑、用户界面和数据存储分离。在EXTJS 4.0中,模型(Model)负责管理数据...
在这个"ExtJs 4.1 mvc 简单示例"中,我们将深入探讨如何在ExtJS 4.1中应用MVC模式来创建一个简单的应用程序。 首先,让我们来看看核心组件: 1. **index.html**:这是Web应用的入口点,通常包含HTML结构以及必要的...
3. **数据绑定和模型(Model)**:在ExtJS中,数据绑定是将视图与后端数据源连接的关键机制。通过定义模型,我们可以规范数据结构,并实现数据的自动同步。在收支系统中,模型用于定义收入和支出条目的属性,如日期...