`

E3首席讲师熊春系列文章之E3.Tree与EXT.Layout完美整合篇

    博客分类:
  • E3
阅读更多
同学们,熊师讲坛又开讲了。。。 音乐。。。 掌声。。。鲜花。。。美女。。。

课程题目:
『E3.Tree与EXT.Layout完美整合篇』
讲师:
E3首席讲师.XiongChun
必备知识:
(1)、已经学习并掌握了我的上一篇教程-【E3.Tree入门与进阶篇】
(2)、对EXT有一定了解和认识

1.广告时间
1.1.E3简介
由国人黄老大以“分享经验-传递价值-成就你我”为理念,发起并创办的一个致力于JavaEE公共应用组件的开源组织。目前已经成功推出E3.Tree、E3.Resource、E3.Table、E3.IDGenerator四个开源组件。
官方网站:http://www.javae3.com  QQGroup:
1.2.EXT简介
我们的英雄Jack站在无数巨人的肩膀上成就出的一个伟大的Web UI富客户端表现层框架。我想就不必再多说了,你要是连她都不认识,那我也无语了。
官方网站:http://extjs.com
1.3.作者简介
目前头衔:E3首席讲师,致力于E3各开源组件的的宣传与推广工作,负责E3用户的培训与支持.
我的心愿:如果你觉得教程对你有帮助的话,可否去帮我浇浇花水,偶养滴花快开始长果果了,谢谢了:)
http://user.qzone.qq.com/307916217
2.进入主题
2.1.为什么要将E3.Tree和EXT.Layout布局整合?
目前绝大多数的JavaEE企业应用的布局都是采用FrameSet的结构来实现,在缺乏专业美工的和精湛的CSS和JS功底的情况下很难做出酷炫的布局界面。大多呆板,丑陋不堪入目。而EXT.Layout提供了非常漂亮和酷炫的布局方案,通过Div将页面分为north,west,east,south,center五个区域,我们可以根据自己的需要来灵活的组装,而且每一个区域都提供了很多贴心的小工具比如平滑的收缩,展开等等。而我们的E3.Tree的话则是屏蔽了各种JS树模型的差异(目前支持XTree和EXT.Tree)提供统一的Java编程接口的一个方便易用的开源组件。可用于展示具有树结构的数据模型,比如我们常用的导航菜单以及权限管理的组织机构模型等等。所以将Ext.Layut和E3.Tree整合便可以方便快捷的实现我们JavaEE Web应用系统的一个酷炫的布局结构。
2.2.效果截图
我们先来看一下整合后的效果图,如果您感兴趣的话就继续往下看,如果你已经掌握了相关的布局方案的话那就赶紧离开,不必再浪费时间了。
图一:正常加载后的效果图

图二:边栏被收缩后的效果图

图三:边栏根据鼠标事件临时展开的效果图


3.实现步骤
3.1.分别下载Ext2.0和E3.Tree的相关资源,并引入到工程中来.关于EXT资源的引入请参阅其他文章,Google一下就有,限于篇幅就不再赘述了;关于E3.Tree资源的引入请参阅我的上一篇教程E3.Tree入门与进阶篇.
3.2.新建一个JSP文件.
3.2.1.导入Ext资源Java代码
<%@ page contentType="text/html; charset=GBK"%>  
<%-- 加载所需CSS文件 --%>  
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/uilib/ext2.0/resources/css/ext-all.css"/>  
<%-- 加载所需的JS文件 --%>  
<script type="text/javascript" src="${pageContext.request.contextPath}/uilib/ext2.0/adapter/ext/ext-base.js"></script>  
<script type="text/javascript" src="${pageContext.request.contextPath}/uilib/ext2.0/ext-all.js"></script> 

<%@ page contentType="text/html; charset=GBK"%>
<%-- 加载所需CSS文件 --%>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/uilib/ext2.0/resources/css/ext-all.css"/>
<%-- 加载所需的JS文件 --%>
<script type="text/javascript" src="${pageContext.request.contextPath}/uilib/ext2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/uilib/ext2.0/ext-all.js"></script>
3.2.2.使用Ext语法构建Ext.Layout布局Java代码
<script type="text/javascript">  
Ext.onReady(function(){  
Ext.BLANK_IMAGE_URL = '${pageContext.request.contextPath}/uilib/ext2.0/resources/images/default/s.gif';  
      new Ext.Viewport({  
             layout:'border',  
             items:[  
                    new Ext.BoxComponent({  
                         region:'north',  
                         el: 'north',//填充指定id的区域内容到north区域,若不设该属性,请通过html:'内容',设置区域内容  
                         height:0 
                   }),new Ext.BoxComponent({  
                         region:'south',  
                         el: 'south',  
                         height:20 
                   }),{  
                        region:'center',  
                        title:'**县人民政府网站管理后台',  
                        autoScroll:true,  
                        contentEl:'center' 
                   },{  
                       region:'west',  
                       width: 200,  
                       collapsible: true,  
                       minSize: 100,  
                       maxSize: 300,  
                       split: true,  
                       title: 'eRed门户网站通用平台 V 0.1',  
                       layout:'accordion',  
                       layoutConfig:{  
                        animate:true 
                       },  
                    items: [{  
                    title:'系统管理菜单',  
                    autoScroll:true,  
                    border:false,  
                    contentEl: 'tree',  
                    iconCls:'settings' 
                },{  
                    title:'业务功能菜单',  
                    html: '<font size=2px>显示和业务相关的菜单</font>',  
                    border:false,  
                    autoScroll:true,  
                    iconCls:'nav' 
                   },{  
                    title:'安全选项',  
                    html: '<font size=2px>显示和安全选项相关的菜单</font>',  
                    border:false,  
                    autoScroll:true,  
                    iconCls:'security' 
                   },{  
                    title:'关于eRedLab',  
                    html: '<font size=2px>显示eRedLab的相关信息</font>',  
                    border:false,  
                    autoScroll:true,  
                    iconCls:'about' 
                   }]  
                   }]  
            });  
       }); 

<script type="text/javascript">
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '${pageContext.request.contextPath}/uilib/ext2.0/resources/images/default/s.gif';
      new Ext.Viewport({
             layout:'border',
             items:[
                    new Ext.BoxComponent({
                         region:'north',
                         el: 'north',//填充指定id的区域内容到north区域,若不设该属性,请通过html:'内容',设置区域内容
                         height:0
                   }),new Ext.BoxComponent({
                         region:'south',
                         el: 'south',
                         height:20
                   }),{
                        region:'center',
                        title:'**县人民政府网站管理后台',
                        autoScroll:true,
                        contentEl:'center'
                   },{
                       region:'west',
                       width: 200,
                       collapsible: true,
                       minSize: 100,
                       maxSize: 300,
                       split: true,
                       title: 'eRed门户网站通用平台 V 0.1',
                       layout:'accordion',
                       layoutConfig:{
                        animate:true
                       },
                    items: [{
                    title:'系统管理菜单',
                    autoScroll:true,
                    border:false,
                    contentEl: 'tree',
                    iconCls:'settings'
                },{
                    title:'业务功能菜单',
                    html: '<font size=2px>显示和业务相关的菜单</font>',
                    border:false,
                    autoScroll:true,
                    iconCls:'nav'
                   },{
                    title:'安全选项',
                    html: '<font size=2px>显示和安全选项相关的菜单</font>',
                    border:false,
                    autoScroll:true,
                    iconCls:'security'
                   },{
                    title:'关于eRedLab',
                    html: '<font size=2px>显示eRedLab的相关信息</font>',
                    border:false,
                    autoScroll:true,
                    iconCls:'about'
                   }]
                   }]
            });
       });
3.2.3.大家可能注意到了上面Ext语法中的el和contentEl属性,他们都对应Div的ID属性值,表示把这个DIV与相应的EXT布局关联起来.比如 contentEl: 'tree',即表示ID为"tree"这个DIV与Ext.Layout布局的west区域关联.下面我们看上面EXT语法程序中所关联的几个DIV
<div id="north">
</div>
<div id="south" class="copyRight">
Copyright© 2008 eRedLab® 东方红软件实验室 中国.昆明 理念:分享经验-传递价值-成就你我
</div>
(1)、可能大家注意到了,并没有创建ID为"tree"的Div,这是因为下面E3.Tree在构建树的时候已经创建了以个ID为"tree"的Div,我们只需要直接使用以下语句即可:
${treeScript}
(2)、还有一个DIV需要着重介绍一下,就是用来显示业务办理区域的DIV,如下所示:
<div id="center">
<iframe name="mainFrame" class="mainFrame" frameborder="0"></iframe>
</div>
大家看到了,我内嵌了一个iframe,这个就可以用来显示点击E3.Tree菜单后的业务办理区域.当然,得配合E3.Tree的树节点单击事件来指定,如下所示:
function doAction(url){
  parent.mainFrame.location.href = url;
}
如果你看到这有点糊涂的话,还是那句老话,先去看我的第一篇教程.E3.Tree入门与进阶.
3.2.4.附上我的完整的JSP文件供参考.
下课。。。。。
课程表:
课程名:『E3.Table初级应用』
发表时间:2008-06-01
发表地点: JavaEye, E3官方论坛, 作者技术Blog 同步发表
分享到:
评论
1 楼 JaNer 2009-06-30  
你好,在你转载的文章中。有两篇是我写的:

E3首席讲师XC系列文章之E3.Tree入门与进阶篇
http://incan.iteye.com/blog/278016



E3首席讲师XC系列文章之E3.Tree与EXT.Layout完美整合篇
http://incan.iteye.com/blog/278017

想请您吧标题中我的姓名去掉!给您添麻烦了。谢谢~

相关推荐

    E3 最新例子包,包括table,tree等

    E3从07年10月份推出后,到目前经历1年多时间...为了让更多人了解,认识并在项目中去使用E3,E3首席讲师熊春历经3个多月的不懈努力,编 写完&lt;&lt;E3开发指南&gt;&gt;.现在这个版本对E3.Tree进行了全面讲解,从部署到各种树的实现方式

    G4Studio_V3.1版本说明

    开源平台,G4Studio,熊春个人开发的 很给力啊,大家去谷歌下载平台吧。

    G4Studio开发指南_V3.1

    在开发领域,掌握一款工具的使用往往需要深入理解其架构、核心功能以及如何与其他系统进行交互。G4Studio开发指南可能涵盖了以下几个方面的重要知识点: 1. **G4Studio介绍**:首先,我们需要了解G4Studio的基本...

    1727008980062_36899042-cccb-455e-a366-ade300382e2a.mp3

    1727008980062_36899042-cccb-455e-a366-ade300382e2a.mp3

    基于Java和Lua的美食社交APP设计源码

    本项目是基于Java和Lua开发的美食社交APP,包含92个文件,其中包括80个Java源代码文件、4个XML配置文件、2个PNG图像文件、2个Lua脚本文件、1个LICENSE文件、1个Markdown文档文件和1个YAML配置文件。此外,还有1个SQL文件。该项目旨在为用户提供一个便捷、高效的美食社交平台,支持美食分享、社交互动、活动组织等功能,以提升用户体验和社区活跃度。

    模数转换器(ADC)技术解析及应用指南

    内容概要:本文全面介绍了模数转换器(ADC)的相关知识和技术,包括ADC的基本原理、关键技术参数、不同类型ADC的工作方式及其应用领域。并通过生动的比喻解释ADC的概念,强调其在日常生活中的实际应用,并提供了选型指南以及对未来发展方向进行了预测。 适用人群:具备一定模拟电子基础知识的研发人员及电子工程专业师生。 使用场景及目标:指导相关人员正确理解和选用ADC,并提升对最新发展的认知。适用于工业、消费电子、汽车电子、通讯和医疗器械等行业。 阅读建议:读者应重点学习ADC的关键指标及各参数间的关联性,并尝试联系具体的应用场景来加深理解。此外还推荐读者扩展学习相关设计实例和技术文章,以更好地吸收和运用知识内容。

    基于微信小程序的碎片化驾考论文.docx

    基于微信小程序的碎片化驾考论文

    R语言入门指南_r-book.zip

    R语言入门指南_r-book

    小程序&模版&租赁行业&电器租赁小程序(源码+截图+源码导入教程和视频).zip

    小程序&模版&租赁行业&电器租赁小程序(源码+截图+源码导入教程和视频).zip

    R语言相关资料_R.zip

    R语言相关资料_R

    基于Javascript的程序员工具大全设计源码

    本项目是基于Javascript开发的程序员工具大全,包含159个文件,其中包括69个PNG图像文件、47个Markdown文档文件、20个JavaScript脚本文件、11个JPG图像文件、3个CSS样式表文件、1个gitattributes文件、1个gitignore文件、1个LICENSE文件和1个ICO图标文件。此外,还有1个SVG矢量图文件。该项目旨在为程序员提供一个便捷、高效的工具集合,包括代码片段管理、在线调试、文档查询等功能,以提升开发效率和编程体验。

    E2021014(资料+论文)基于单片机的指纹密码锁系统.zip

    主要实现功能: 1.系统的基本功能,要求能够对指纹进行录入、识别和删除,能够实现指纹识别成功开锁功能。并设有4*4按键键盘,实现指纹录入、密码修改和特殊功能。 2. 根据功能要求及性价比,选择STM32F103C8T6单片机。 3.合理选择元器件,完成功能按键键盘模块、时钟模块、指纹识别模块,LCD12864显示电路的设计。 4.设计出硬件电路原理图。搭建硬件电路,编写程序,进行系统调试。 资料包包含: 1-程序 2-原理图 3-原理图讲解视频 4-相关软件下载和教程 6-制作详解 7-焊接过程照片 8-芯片资料 9-实物操作说明 10-实物照片 11-元件清单 12-开题报告 13-任务书 14-参考论文 15-STM32视频教程 16-毕设管辩技巧 【必读】论文音重原理与规避高重复率方法,doc 常见问题解答,doc 常用小知识.doc 答辩常见问题合集,txt 打开原理图的方法,txt

    基于JAVA+SqlServer 实现的图书馆书库管理系统毕业设计(论文+源代码)

    【作品名称】:基于JAVA+SqlServer 实现的图书馆书库管理系统【毕业设计】(论文+源代码) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: (1)本产品是一套图书馆管理系统,是管理书库的软件。这个系统给管理员带来了极大的方便,它能实现对书库的一些增加、删除等功能,同是能很好地完成借书、还书等一些操作。 (2)本产品开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。前端程序主要是用JAVA进行开发,后台数据库主要是用SQL SERVER 2000。 (1)这是专为管理图书馆来做的软件,所以本产品的客户主要是从事图书馆管理工作的人员。本软件界面友好,操作简单容易,用户不需要很高的知识水平就能够完成操作。 (2)本产品具有良好的操作性,运作简单,功能完善,这样大大提高了工作效率,且节省成本。 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。

    wireshark抓包不如用cookiejar管理_cookiejar.zip

    wireshark抓包不如用cookiejar管理_cookiejar

    kail虚拟机的共享文件夹安装失败,所以通过git仓库来share_share-the-file-

    kail虚拟机的共享文件夹安装失败,所以通过git仓库来share_share-the-file-to-the-linux

    变压器变频器配电柜电路控制原理图CAD施工图纸设备控制图集尘系统电气原理图

    变压器变频器配电柜电路控制原理图CAD施工图纸设备控制图集尘系统电气原理图

    类似wireshark抓包简单界面_myzuoye.zip

    类似wireshark抓包简单界面_myzuoye

    R语言计算耐药率和数据分析_SPN.zip

    R语言计算耐药率和数据分析_SPN

    【高创新】基于蜣螂优化算法DBO-TCN-Attention的用负荷预测算法研究Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

Global site tag (gtag.js) - Google Analytics