首页 > WORK > RobConsole项目主菜单开发记录

RobConsole项目主菜单开发记录

版权声明:本文可以任意转载,转载时请务必以超链接形式标明文章原始出处作者署名本版权声明

1. 使用说明

开发模式下在Eclipse中启动Tomcat后,在浏览器地址栏输入:http://192.1.1.163:8080/RobConsole,进入项目主页。

标注:

1、RobConsole项目在开发模式下运行于Tomcat中,生产模式下运行于WebLogic中;

2、192.1.1.163为项目运行的服务器,8080为Tomcat默认端口,RobConsole为发布项目名。

出现下图画面:

login.jpg

输入操作员员工号和密码进行登录,后台进行一系列处理(如操作员权限判断、密码验证等)后,转入操作主页面:

robconsole.png

整个页面采用框架式Frame设计,页面预置上下左右四个Frame,上部的Frame为项目描述,左部的Frame为登录的操作员可处理的交易列表,为树形结构表示,若点击为树节点的目录则展开该目录的下级菜单,若点击为树节点的叶子,则在右部的Frame中打开具体交易界面,如流水查询、报表服务等。下部的Frame为扩展预留,暂时未用。

标注:

1、左右框架的分隔符可以进行收缩和拖拉,便于使用;

2、左部框架节点的设计如同windows中的资源管理器。

2. 开发说明

2.1 目录结构

src代码存放路径:

menutree.jpg

BuildMenu->MenuTree->Menu:
BuildMenu:返回生成的树字符串;
MenuTree:获得treeElement;
Menu:进行treeElement解析;

treeutil.jpg

com.robertbao.tree.TreeUtil:主菜单初始化,在服务器启动时即一次性加载menutree.xml文件,不用每次读取解析该文件,提高了主菜单的响应性能。

xml和js文件存放路径:

menutree.xml:WebContent/WEB-INF目录下
tree_maker.js:WebContent/page/resources/script目录下

页面文件存放路径:

menutreeloader.html:WebContent/page/html目录下

内容为:

<meta http-equiv=”refresh” content=”0;url=../../trans/management/TreeView.do”>

进行页面的跳转,转入TreeView.do中处理。

treeSuccess.ftl:WebContent/page/ftl/system目录下

由tree_maker.js对传入的${tree}进行处理,在页面上显示出操作员交易树集合。

2.2 开发流程

使用人员开发交易时,主菜单的部分只需对menutree.xml中的内容进行增加,开发时主要在这个文件里添加具体的交易:

<?xml version=”1.0″ encoding=”UTF-8″?>
<menu id=”A” title=”RobConsole” tip=”RobConsole” txn=”" type=”text” url=”"
target=”_self”>
<subMenu>
<menu id=”AA” title=”管理AA” tip=”管理AA” txn=”" type=”text”
url=”" target=”main”>
<subMenu>
<menu id=”AAA” title=”管理AAA” tip=”管理AAA” txn=”"
type=”text” url=”" target=”main”>
<subMenu>
<menu id=”AAAA” title=”管理AAAA” tip=”管理AAAA”
txn=”10210300″ type=”text” url=”../../trans/beginTrans.do?trans=/page/ftl/system/adminAAAA.ftl”
target=”main” />
<menu id=”AAAB” title=”管理AAAB” tip=”管理AAAB”
txn=”10210400″ type=”text” url=”../../trans/beginTrans.do?trans=/page/ftl/system/adminAAAB.ftl”
target=”main” />
</subMenu>
</menu>

id 菜单编号
title 显示菜单项信息
tip 显示菜单项鼠标提示信息
type 默认为text,文本类型,暂时未用,用于扩展
url 点击叶子节点后的链接页面
target 默认为main,框架名称,暂时未用,用于扩展

说明:

  1. 最上层节点定义id为A,为RobConsole节点占用,不能修改。
  2. menu节点中若有内容,需定义下一级subMenu节点,然后在其中再定义menu节点添加具体内容,逐层嵌套。
  3. id只定义在menu中,subMenu中没有该属性的定义。
  4. 同一级中按A、B、C、D字母顺序排序添加。
  5. id的定义仅供树节点产生父子兄弟关系使用,与具体交易业务无关。
  6. txn的定义即为权限,通过权限表中获得操作员权限,与该xml中的内容进行比对,若有权限则展示相应主菜单内容;权限代码的组成为txn=”10210500″,六位交易码加两位交易子码。
  7. 所有的url均以../../trans/beginTrans.do?trans=/page/ftl/system/***.ftl形式写出,只是最后的ftl文件名和目录会根据不同交易有所不同,这样把所有的页面都纳入同样的session控制中。

以操作员1200012的权限集为AAAA/AAAB/AAAC/AAAD/AAAE/AABA/AABB等为例,在主菜单中只显示该操作员可以进行的交易,该操作员无权进行的交易不会在主菜单中显示出来,操作员也就无法做此种交易,这种在页面端就进行限制的方式不用发出交易后在服务器端再进行验证,节省了系统资源。

3. 名词解释

XML:XML是The Extensible Markup Language(可扩展标识语言)的简写。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语言。 XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。

XHTML:XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。

CSS:CSS是Cascading Style Sheets(层叠样式表)的缩写。W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他的表现语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。

DOM:DOM是Document Object Model(文档对象模型)的缩写。DOM是一种与浏览器、平台、语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscaped的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问站点中的数据、脚本表现层对象。

分类: WORK 标签: , ,
  1. 一生一起走
    2007年1月9日10:35 | #1

    不懂这个,看界面还是蛮酷的~~~