如果我的博文能帮到你,我感到非常荣幸。能力所限,对于我所写的内容如有不详不对,你们能给一些意见的话我将非常感谢。以后我会将我在工作中学到的一些知识,尽量整理出来给大家分享。 你们的意见是我的动力
EXT的执行代码都放到Ext.onReady(function() {});
解释下代码中的几个关键字:
1、new Ext.Viewport: 浏览器窗口的整个显示区域,将document body作为渲染对象,它会根据浏览器窗口的大小自动调整自身的尺寸。在一个页面中只允许出现一个Viewport实例,Viewport默认自动显示。
2、layout: 'border': 表示按照东西南北中的方式布局
3、region: "north" : 指定某容器的具体显示位置,子容器中指定region(west,east,north,south,cente)。
4、items: 该容器包含的对象数组
5、Ext.require('Ext.ux.IFrame'): 如果右边的tab为iframe组件,必须手动引入。当然如果自己用html的形式添加iframe,另当别论。
HTML以及JS代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="general/resources/js/ext-4.2/resources/ext-theme-classic/ext-theme-classic-all.css" />
<script type="text/javascript" src="general/resources/js/ext-4.2/bootstrap.js"></script>
<script type="text/javascript" src="general/resources/js/ext-4.2/locale/ext-lang-zh_CN.js"></script><title>后台管理</title>
<script type="text/javascript">
Ext.require('Ext.ux.IFrame');//引入iFrame组件
//创建IFrame
var createIframe = function(rcd){
var currIframe = Ext.create("Ext.ux.IFrame", {
id: "tab_"+rcd.raw.id,
title: rcd.raw.text,
closable : true,
loadMask : "加载中...",
src : rcd.raw.linkUrl,
listeners: {
load: function(iframeComponent){
//code here
},
beforeload: function(iframeComponent, src){
//code here
}
}
});
//新增Iframe
panelCenter.add(currIframe);
//
var tab = Ext.getCmp("tab_"+rcd.raw.id);
panelCenter.setActiveTab(tab);
}
var treeStore = Ext.create('Ext.data.TreeStore', {
root: {
id: "0",
text: "根节点",
expanded: true,
children: [
{id:"1",text: "业务模块", expanded: true, children: [
{id:"11",text: "应用管理", linkUrl: "general/appExec/go_main", leaf: true},
{id:"12",text: "产品管理", linkUrl: "general/appNormal/go_main", leaf: true},
{id:"13",text: "客户管理", linkUrl: "general/appTree/go_main", leaf: true},
{id:"14",text: "银行卡管理", linkUrl: "general/appTree/go_main", leaf: true}
]},
{id:"2",text: "系统模块", expanded: true, children: [
{id:"21",text: "数据备份", linkUrl: "general/appNormal/gView/usermy?area_id=2",leaf: true},
{id:"22",text: "系统监控", linkUrl: "general/appTree/gView/treeuser?id=0",leaf: true}
]}
]}
});
//左边树
var leftTree = Ext.create('Ext.tree.Panel', {
title: "业务模块",
store: treeStore,
border: false,
rootVisible: true,
listeners: {
itemclick: function(view, rcd, item, idx, event, eOpts){
var dirid = rcd.raw.id; //节点id
var dirtext = rcd.raw.text; //节点text
var dirleaf = rcd.raw.leaf; //节点leaf
var dirurl = rcd.raw.linkUrl; //节点url
var tab = Ext.getCmp("tab_"+dirid);
if(!tab && dirleaf){
//newIframe
createIframe(rcd);
}else if(!dirleaf){
return;
}
tab = Ext.getCmp("tab_"+dirid);
panelCenter.setActiveTab(tab);
},
itemdblclick: function(view, rcd, item, idx, event, eOpts){
//alert("dbclick Body");
var dirid = rcd.raw.id; //节点id
var dirleaf = rcd.raw.leaf; //节点leaf
var tab = Ext.getCmp("tab_"+dirid);
if(!tab && dirleaf){
// 添加新的tab,如果tab已经存在,则将其设置为当前可见tab
createIframe(rcd);
}else{
tab.show();
tab.load(tab.src);
tab = Ext.getCmp("tab_"+dirid);
panelCenter.setActiveTab(tab);
}
},
itemcontextmenu: function(view, rcd, item, idx, event, eOpts){
eOpts.preventDefault();
alert(12333);
}
}
});
//上边
var panelNorth = {
xtype: 'header',
region: "north",
layout: 'fit',
height: 40,
items:[
{xtype:'button',text:"刷新缓存",
handler : function(btn) {
Ext.Ajax.request({
url : "general/flushCahch",
success : function(response, form) {
var json = Ext.decode(response.responseText);
if (json.success === true) {
Ext.Msg.alert('提示','刷新缓存--成功');
}
},
failure : function(response, fm) {
Ext.Msg.alert('提示','刷新缓存--失败');
}
});
}
}]
};
//左边
var menu=[leftTree,{title:"系统管理",html:"<ul style='list-style-type:none'><li>sssss</li></ul>"},{title:"配置管理"}];
var panelWest = new Ext.Panel({
title: "菜单栏目",
width: 250,
maxWidth: 300,
collapsible: true,//是否可以折叠
region: "west",
layout: "accordion",
items: menu,
split: true //是否可以分开
});
//右边
var panelEast = new Ext.Panel({
title: "工具",
width: 250,
maxWidth: 200,
collapsible: true,//是否可以折叠
region: "east",
collapsed: false,
split: true //是否可以分开
});
//中间
var panelCenter=Ext.create('Ext.tab.Panel', {
region: 'center', // a center region is ALWAYS required for border layout
deferredRender: false,
activeTab: 0, // first tab initially active
items: [{
//contentEl: 'center1',
title: '系统首页',
closable: false,
autoScroll: true,
items: [{
style: {
width: 200,
paddingTop: '10px'
},
title:'首页模块一',
xtype:'panel'
},
{
style: {
width: 200,
paddingTop: '10px'
},
title:'首页模块二',
xtype:'panel'}
]
}]
});
//下边
var panelSouth = Ext.create('Ext.Toolbar',{
id:"bottom",
frame:true,
region:"south",
height:30,
items:["当前用户:系统管理员",'->',"技术支持:<a href='http://www.person3.com/' target='_blank' style='text-decoration:none;'><font color='#0000FF'>http://www.person3.com/</font></a> "]
});
//创建主容器---启动
Ext.onReady(function() {
Ext.QuickTips.init();
new Ext.Viewport({
height: "100%",
width: "100%",
layout:'border',
items:[panelNorth,panelWest,panelCenter,panelSouth,panelEast]
});
});
</script>
</head>
<body>
</body>
</html>
- 大小: 49.1 KB
分享到:
相关推荐
3. **布局管理**:EXT.js4.2使用布局管理器来定义组件如何在页面上排列,提供了多种布局方式,如卡片布局、网格布局、盒子布局等。 4. **主题定制**:提供了多种预设主题和灵活的样式系统,支持自定义主题和风格,...
前端开发技术ExtJs 4.2 中文API,网页形式描述,使用者可以输入关键字查找描述信息,传入参数信息等。
Ext4.2 MVC 实例 源码 grid tree layout。。。
ext-js-4.2框架ext-js-4.2框架ext-js-4.2框架ext-js-4.2框架
"ext-theme-classic"是Ext JS中的经典主题,它提供了一种传统的、功能丰富的用户界面样式。这个主题设计得相当全面,适合那些希望创建具有标准桌面应用程序外观和感觉的Web应用。经典主题包括了大量的预定义CSS样式...
"EXT实例集"是一个集合,包含了多种EXT的使用示例,对于初学者和有经验的EXT开发者来说都是一个宝贵的资源。 在EXT中,组件是构建用户界面的基础,包括表格(Grid)、面板(Panel)、窗口(Window)、菜单(Menu)...
其中BorderLayout是一种常用的布局方式,它能将页面区域划分为五个部分,每个部分都可以独立设置属性。 #### 7. 拖拽功能和基础问题 拖拽功能在Ext JS中实现起来非常简单,开发者可以轻松实现各种拖拽效果,例如...
"EXT实例综合"是一个关于JavaScript库EXT的专题学习资料,主要涵盖了EXT 2.0.2版本中的ASP.NET(.aspx)环境下的应用。EXT是一个强大的JavaScript框架,专为构建富客户端Web应用程序而设计,提供了丰富的组件和数据...
EXT实例通常涉及到一系列操作步骤,包括页面布局、窗口创建以及表格的使用。 **页面布局**是EXT的核心功能之一,它提供了多种布局模式来适应不同设计需求。常见的布局有: 1. **Accordion布局**:这种布局方式使得...
从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。
Ext Js4.2教程文档,资料详细,非常适合入门,还有示例代码分析
在EXT后台经典实例中,数据模型通常对应于后端数据库中的表结构。 3. **Store**:Store是EXT中管理数据的核心组件,它链接到数据源(如服务器),负责加载、缓存和处理数据。在"增删改查"操作中,Store会触发加载、...
ext4.2.1 完整包资料文档下载。
Ext4.2是Linux操作系统中广泛使用的文件系统之一,它在前代Ext3的基础上进行了大量改进,以提供更高的性能、可扩展性和可靠性。这个核心包很可能是针对Linux内核的一个更新,旨在增强对Ext4.2文件系统的支持。以下是...
在本场景中,我们关注的是在Ext JS 4.2版本中如何将grid的数据导出为Excel文件,这是一项常见的需求,以便用户可以对数据进行离线分析或存储。 标题"ext 4.2 grid导出excel 文件"指的是使用Ext JS 4.2版本的grid...
标题中的"ext-4.2.1-gpl.7z"指的是一个开源的软件扩展库,采用GNU General Public License(GPL)版本4.2.1发布,并被压缩为7z格式的文件。7z是一种高压缩率的文件存档格式,由7-Zip软件创建,能有效地存储大量数据...
ext4.2.jsb2 智能提示文件
完整ext-4.2.1.883包,包含ext-4.2.1.883.jsb2文件
ext实例一个很好的ext学习 ext实例一个很好的ext学习
EXT4.2 MVC范例代码主要展示了如何在编程中应用EXT4.2框架与MVC(Model-View-Controller)设计模式相结合的方式进行项目开发。EXT4.2是一款流行的JavaScript库,专门用于构建富客户端应用程序,它提供了丰富的UI组件...