EMP_Web页面框架进阶培训教程_V10.pdf
《EMP_Web页面框架进阶培训教程_V10.pdf》由会员分享,可在线阅读,更多相关《EMP_Web页面框架进阶培训教程_V10.pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 EMP页面框架高级培训教材 EMP 页面框架高级培训页面框架高级培训 教材教材 Tutorial For EMP V2.1 Copyright Yucheng Tech.2008 第 1 页/共 44 页 EMP页面框架高级培训教材 文档信息 文档版本编号:0.9 文档版本日期:2008年11月24日 起草人:彭楫洲 起草日期:2008年11月11日 版本记录 版本编号 版本日期 创建/修改 说明 0.1 2008-11-11 彭楫洲 创建提纲和草稿 0.8 2008-11-21 创建课程详细流程 0.9 2008-11-24 增加课程中的常见问题说明部分 Copyright Yucheng
2、 Tech.2008 第 2 页/共 44 页 EMP页面框架高级培训教材 目 录 1培训课程简介.51.1培训目的.51.2培训人员要求.51.3参考文档.52EMP页面框架设计基础.62.1EMP页面框架概述.62.2Ajax功能支持.72.2.1updateDivContent方法.72.2.2submitTheForm方法.72.3EMP菜单组件设计.82.3.1菜单数据的准备(服务器端).82.3.2关联菜单项、广告和帮助.102.3.3菜单的展现.102.4EMP布局框架设计.112.4.1EMP布局设计概述.112.4.2布局框架Layout定义规则.112.4.3布局框架的扩展
3、.132.5EMP的联动选择框.143EMP页面框架开发实践.143.1实战案例详介.143.2实战案例演练环境.143.3课程一:定制动态菜单.153.3.1动态菜单需求分析.153.3.2动态菜单设计实现.153.3.2.1开发一个BizOperation业务逻辑,查询数据库获取菜单信息.163.3.2.2学习应用的初始化处理.193.3.2.3扩展TaskInfoProvider.203.3.3配置使用方法.263.3.3.1菜单请求命令的配置.263.3.3.2菜单信息初始化配置.273.3.4动态菜单测试.273.3.5常见问题说明.283.4课程二:定制一个较为复杂的布局页面.28
4、3.4.1页面布局的设计分析.283.4.2通过IDE进行定制.293.4.3理解布局相关设定.333.4.3.1Desktop的设定.333.4.3.2Menu的设定.343.4.3.3菜单栏的设定.353.4.3.4布局管理与CSS的关系.363.4.4测试页面布局.363.4.5常见问题说明.363.5课程三:联动选择框实例.373.5.1联动选择需求分析.373.5.2联动业务流程实现.37 Copyright Yucheng Tech.2008 第 3 页/共 44 页 EMP页面框架高级培训教材 3.5.2.1关于Formula的提示.413.5.3IDE配置方法.413.5.4测
5、试联动选择.433.5.5常见问题说明.44 Copyright Yucheng Tech.2008 第 4 页/共 44 页 EMP页面框架高级培训教材 1 培训课程简介培训课程简介 1.1 培训目的培训目的 本文档详细描述了使用EMP平台进行页面框架设计和扩展的培训课程,在此基础上,面向客户,EMP平台开发人员,对使用平台开发Web应用提供一份Web页面框架应用的培训文档。本次培训基于EMP V2.1,在理解EMP页面框架设计模型基础上,以实际常规页面框架应用为例,结合IDE,重点实战讲述具体的应用开发过程,使读者能够深入掌握使用IDE开发EMP应用时如何进行页面框架设计的思想和方法。1.
6、2 培训人员要求培训人员要求 EMP平台页面布局管理培训是EMP培训系列的进阶培训,培训人员必须先通过EMP平台通用培训,要求培训人员能在EMP平台应用项目中熟练使用EMP开发环境进行业务功能开发实现,具体要求:a)理解EMP设计思想和基础架构 b)熟练使用EMP IDE开发工具,包括交易开发、参数配置、交易测试、项目导出及部署等 c)熟练使用IDE工具开发业务功能 d)熟练使用IDE工具开发web应用逻辑 1.3 参考文档参考文档 文档名称 文件名称 版本号 备注EMP2.0技术手册 EMP2.0技术手册 1.0.0 Copyright Yucheng Tech.2008 第 5 页/共 4
7、4 页 EMP页面框架高级培训教材 2 EMP页面框架设计基础页面框架设计基础 2.1 EMP页面框架概述页面框架概述 Web页面框架已经称为影响web开发和维护效率的重要技术框架。Web页面框架主要包括Web页面的布局、菜单处理、各种展现处理以及页面事件处理等浏览器页面的应用功能框架。EMP平台提供的Web页面框架是采用开源的Yahoo UI框架为基础,在其上进行了EMP的JS封装,为用户提供了简单便洁的页面处理能力。(Yahoo UI,简称YUI,http:/ 的页面框架是一组建立于 YUI 之上的 EMP 的 JS 文件,在 EMP 项目应用中位置一般在 WebContent/scrip
8、ts/目录下,该目录下有子目录 yui,其中存放了 EMP 中所使用到的 YUI 的基础 JS 包,以及 EMP 所提供的扩展 JS 文件。EMP 所提供的扩展 JS 文件,其中最关键的几个 JS 文件分别是:文件名文件名 功能说明功能说明 emp.js EMP 的 JS 框架的命名空间定义,以及基础常量定义 connection.js 封装 yui 的 connection 功能,主要提供用户简单使用的 Ajax 访问功能 empmenu.js 封装了 yui 的菜单功能,主要提供用户页面菜单的展现功能,有EMP 的菜单数据格式规范要求 empanel.js 主要是 portal 类使用,单
9、个窗口类应用 combobox.js 主要是选择框联动的自动功能,动态从后台服务器获取选择数据用于展现,有 EMP 自定义的数据格式规范要求,需要与 MVC 操作配合使用 EMP 所提供的 JS 文件,主要目的就是为了屏蔽掉 YUI 的复杂性,降低用户的学习成本。EMP 在页面框架上主要包含几个方面的功能:一、AJAX 访问支持 二、页面布局管理功能 三、页面菜单生成和展现功能 四、选择框联动功能 Copyright Yucheng Tech.2008 第 6 页/共 44 页 EMP页面框架高级培训教材 五、Portal 类应用功能 我们经常使用的是前四个功能,如果只是简单的应用 EMP 的
10、页面框架,只需要掌握这些JS 的调用接口就可以了,如果想深入了解 EMP 的页面框架,并在此基础上进行自有应用的功能扩展,就需要系统的学习 EMP 的 JS 代码以及 YUI 的系统应用方法。2.2 Ajax功能支持功能支持 EMP 页面框架提供了两个主要的 Ajax 功能支持,分别是 Form 的提交更新和 URL 的提交更新,他们的使用方法如下:2.2.1 updateDivContent方法方法 使用指定的使用指定的 sUrl 更新指定更新指定 divId 或或 iFrame 的内容的内容 参数为:,sUrl,divId,sUrl,divId,.三个一组,也就是说,在一个调用中可以同时更
11、新多个 div 的内容。function updateDivContent(,sUrl,divId),第一个参数为指定的提交方法参数,如果不填则缺省使用“GET”方式提交,如果填写“POST”,则采用 POST 方式提交。在某些情况下,采用 POST 方法提交可以带来和 Form 提交相同的效果,能带来很好的灵活性。2.2.2 submitTheForm方法方法 将将 form 的内容提交后,将响应内容更新到的内容提交后,将响应内容更新到 div 或或 iFrame 指定的区域指定的区域 function submitTheForm(form,div)EMP 建议采用 DIV+iFrame 方
12、式对页面进行布局处理。iFrame 用作应用主工作区。其他部分的布局可采用 div 组件。用户可以编写自己的 JS 函数,在该函数中调用以上两个方法进行页面的区域更新。以上的应用必须在以上的应用必须在 web 应用中,引入应用中,引入 YUI 的基本文件的基本文件(dom,event,connection,element)和和EMP 的基本文件(的基本文件(emp、connection)。)。AJAX 框架的支持是容入到 EMP MVC 框架的表现层处理的各个部分,我们将在后续的章节中逐步介绍。Copyright Yucheng Tech.2008 第 7 页/共 44 页 EMP页面框架高级
13、培训教材 2.3 EMP菜单组件设计菜单组件设计 Web 应用的菜单通常是页面导航的重要手段。一个设计良好的菜单可以给用户带来方便快捷的体验。EMP 平台的表现层为开发者提供了自动生成和展现菜单的组件,并可以通过配置文件进行灵活配置。通常的 Web 应用主要有如下两种菜单处理方式:在服务端生成菜单 HTML 代码,直接输出到页面;在服务端仅提供数据,在页面端使用 JavaScript 进行菜单展现。EMP 平台内建的菜单组件采取第二种方式,因为这种方式将内容与展现进行了分离,能够灵活满足不同需求,同时将一部分工作转移到客户端浏览器进行,减轻服务端的压力。EMP 菜单组件是要求服务器端提供相匹配
14、的服务来进行支持的。EMP 在服务器提供的支持的主要功能就是:为菜单展现的信息提供所要求的标准格式规范的数据准备。服务器端菜单数据的准备请看下一节的详细说明。2.3.1 菜单数据的准备(服务器端)菜单数据的准备(服务器端)EMP 菜单组件在服务端将数据组织成菜单定义字符串,返回给页面,由页面的 JS 脚本进行解析和展现。无论菜单数据来自静态定义还是从 EMP 数据中动态取得,只需拼装成统一格式的 XML 字符串,就可在页面端进行识别。菜单定义的 XML 例子如下:注:以下格式实际就是注:以下格式实际就是 EMP 菜单组件在前端页面处理时所要求的数据格式规范。菜单组件在前端页面处理时所要求的数据
15、格式规范。其中,TaskModel 是整个菜单定义的 XML 根节点;TaskGroup 和 TaskInfo 分别代表菜单分组和菜单项。关于菜单数据的准备,EMP 内部实现了用于静态菜单定义的 EMPTaskInfoProvider 和TaskInfoXMLController。该 provider 从文件中读取菜单定义(仍然是 XML 格式,但有少许不同),而 controller 则将菜单定义转为 XML 字符串。页面只需发送对这个 controller 的请求,就可以获得这个 XML 字符串。浏览器EMPMENU.JSEMPTaskInfoControllerEMPTaskInfoPr
16、oviderEMP应用应用服务器客户端Xml菜单信息文本Xml菜单请求处理器Xml菜单内容生成器 EMP 的菜单应用如上图所示,EMPMenu.js 提供了页面展现的菜单处理,提供了 JS 对象:如 Menu,Menubar 等等,结合 CSS 文件展现菜单形式,EMPMenu 接收服务器端传回的 XML格式的菜单信息自动进行格式化处理完成菜单展现。在服务器端,EMP 提供了菜单分组和菜单项 EMPTaskInfoConttroller 的控制器,并提供了缺省的实现:TaskInfoXMLController,该控制器用于将传入的 TaskInfoGroup 对象生成满足前端展现要求的 xml
17、 格式信息文本。另一个接口是 TaskInfoProvider 接口,该接口提供了方法可以生成 TaskInfoGroup 对象。用户可以通过扩展 TaskInfoProvider 接口来实现自己的菜单内容信息,如实现自己的 TaskInfoProvider,从数据库中获取菜单信息,只要实现了 TaskInfoProvider 接口,TaskInfoXMLController 就可以注入该 provider 并采用该 provider 所提供的菜单对象。?菜单分组菜单分组 TaskGroup 菜单分组是具有子菜单的菜单项目,通常点击该分组会显示出下级子菜单,而不执行某个 Copyright Y
18、ucheng Tech.2008 第 9 页/共 44 页 EMP页面框架高级培训教材 具体的功能入口。一个菜单分组可包含多个菜单项或菜单分组。如下:.?菜单项菜单项 TaskInfo 菜单项是菜单中的功能入口。点击菜单项之后会向指定 URL 发送请求,并使用获得的响应内容更新工作区 DIV。如下:2.3.2 关联菜单项、广告和帮助关联菜单项、广告和帮助 由于 EMP 菜单是与主布局页面配合使用,采用局部刷新的方式组织页面内容,因此每个菜单项除了进行主工作区的更新之外,还可同时刷新多个相关区域。EMP 内建了三种相关项目,每个菜单项可以对应多个关联菜单项或帮助项,以及一个广告信息。?关联菜单项
19、 relatedTask 一般来说,菜单上的某个功能都会与其他的某些功能有所关联。为某个菜单项设置了relatedTask 之后,当点击该菜单项时,会在关联菜单区显示这些关联菜单项的链接。一个菜单项可以对应多个关联菜单项。?广告 advert 若想在点击某菜单项时显示广告信息,则可为该菜单项设置 advert 项目。当点击该菜单项时,会在广告区显示所请求 URL 的内容。?帮助 helpItem 帮助信息也是一个用户体验良好的 Web 应用中经常用到的设置。可为每个菜单项设置相关的多条帮助信息,当点击该菜单项时,会在帮助区显示这些帮助信息的题目,点击其中某一项,会弹出新的窗口显示帮助信息。2.
20、3.3 菜单的展现菜单的展现 菜单的展现完全由页面端的 JavaScript 和 CSS 样式表来进行。从服务端获得菜单的 XML Copyright Yucheng Tech.2008 第 10 页/共 44 页 EMP页面框架高级培训教材 字符串后,用 JavaScript 的 DOM 操作进行解析和生成相应的 HTML,并搭配 CSS 展现出多种多样的菜单。EMP 内建的菜单页面展现封装了 Yahoo UI 的菜单,可以简单地产生普通的菜单条、下拉式菜单以及树状菜单,并内含回退功能。2.4 EMP布局框架设计布局框架设计 2.4.1 EMP布局设计概述布局设计概述 EMP 中通过提供 C
21、SS 定义的方式实现前端 HTML 页面中的元素的任意切分功能。一个左右切分的 DIV 组成一个基本单元,这种单元可以无限嵌套,通过这种方式提供了页面布局的无限可能。一个基本的布局框架如下所示:左半边内容 右半边内容 在左半边内容和右半边内容中都可以无限嵌套更多的 Div 标签来进行分层设计。2.4.2 布局框架布局框架Layout定义规则定义规则 EMP 平台中缺省提供了多种比例的 Div 切分模式,这些切分模式通过 CSS 标签的定义来进行设置。具体可用的 CSS 标签如下定义:?yui-g 1/2-1/2:表示切分为父 Div 的 1/2 范围?yui-gc 2/3-1/3:表示切分为父
22、 Div 的 2/3 范围?yui-gd 1/3-2/3:表示切分为父 Div 的 1/3 范围?yui-ge 3/4-1/4:表示切分为父 Div 的 3/4 范围 Copyright Yucheng Tech.2008 第 11 页/共 44 页 EMP页面框架高级培训教材?yui-gf 1/4-3/4:表示切分为父 Div 的 1/4 范围?其内部的左右分别为:yui-g*-ul 和 yui-g*-ur g*后边的*代表上面所定义的:c、d、e、f。可以通过 IDE 工具可视化的完成布局框架的设计,在 IDE 中通过拖拽来设定 Div 的层次和大小,最终可产生如下所示的布局模型:Desk
23、topHeader Footer 一个布局模型实际上产生一个*Main.jsp 文件,在布局模型中,我们可以设定每一个 Div 的用途,如菜单显示区、主工作区、标题区、页尾区和广告区等等。这些设定可绑定具体的 request请求或 URL,在页面展现时将自动进行页面请求并更新相应区域。如下是一个简单的布局管理器产生的布局页面内容:LINK rel=stylesheet href=type=text/css/var empMenu;var empWorkBench;function loadContent()empMenu=new EMP.widget.EMPMenu(empMenu);var
24、menuBar1=new EMP.widget.MenuBar(id:menubar0);empMenu.registMenuBar(menuBar1);var menuBar2=new EMP.widget.MenuBar(id:menubar2);empMenu.registMenuBar(menuBar2);empMenu.registContentDiv(div0);empMenu.loadMenuData();Copyright Yucheng Tech.2008 第 12 页/共 44 页 EMP页面框架高级培训教材 页面装载时将执行 JS 函数:loadContent,在该函数中
25、,将各个 Div 区进行了数据绑定和自动更新操作,如下所描述:empMenu=new EMP.widget.EMPMenu(empMenu);/生成一个 Menu 菜单对象 var menuBar1=new EMP.widget.MenuBar(id:menubar0);/生成一个 MenuBar 对象,并将该对象与 Div:menubar0 进行了绑定 empMenu.registMenuBar(menuBar1);/将菜单与 Menubar 进行绑定,也就是说,一级菜单 empMenu 将在 div:menubar0 中显示 var menuBar2=new EMP.widget.Menu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EMP_Web 页面 框架 进阶 培训 教程 _V10
限制150内