efsframe Java模型实例教程文档.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《efsframe Java模型实例教程文档.pdf》由会员分享,可在线阅读,更多相关《efsframe Java模型实例教程文档.pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 http:/ 1 页 EfsFrame Java 模型实例教程文档模型实例教程文档 1、学习 Efs 框架的前提.2 2、基于 Efs 框架开发实例分析.2 2.1、项目描述.2 3、业务表设计及事务事件设计.3 3.1、表设计:.3 3.2、事务事件设计.4 3.3、编码规则设计.5 4、添加用户、角色及角色权限.6 4.1、添加用户.6 4.2、添加角色.7 4.3、给角色添加权限.7 5、功能模块开发.9 5.1、添加学生.9 5.2、查询学生列表.15 5.3、修改/删除学生.23 5.4、查询学生详细信息.25 6、接口文档设计补充说明.28 6.1、标准业务操作型 XML 文档数
2、据接口分析说明.28 6.2、标准接口返回 XML 文档数据格式分析.31 6.3、标准查询型 XML 文档数据接口分析说明.32 6.4、添加学生接口.34 6.5、修改学生接口.36 6.6、删除学生接口.37 6.7、查询学生列表接口.38 6.8、查询学生详细信息接口.40 7、发布测试.41 淘花/文库专用 http:/ 2 页 1、学习、学习 Efs 框架的前提框架的前提 Efs 框架是一套完整的企业级开发应用平台,不是一套入门级编程教程,所以对学习 Efs 框架的开发人员有一定的要求,具体如下:1、有一定 B/S 架构项目开发经验;2、作为平台的 Web 表现层开发人员,要熟悉
3、HTML,JavaScript,了解 XML 编程,熟悉一种 Asp、C#、Jsp 至少一种表现层开发脚本语言,适当了解数据库设计原理;3、作为业务逻辑层组件开发人员,至少熟悉一种高级编程语言(如:pascal,VB,C#,C+、Java 等),熟悉 XML 编程,熟悉数据设计库设计原理(对表设计、视图、存储过程、自定义函数等有一定的认识)。2、基于、基于 Efs 框架开发实例分析框架开发实例分析 为了能让大家更好的学习和理解 Efs 框架,下面我们以一个简单的实例开始我们的 Efs 学习之旅。本实例简单以 Jsp+Java+Sql Server 2005 模型完成。2.1、项目描述、项目描述
4、 很多编程实例都是 Hello Word!开始,可谓简单而又经典。我们将以一个简单项目入手,项目虽然简单,但是我们的重点是通过这个小项目迅速了解 Efs 的整个使用流程,体会 Efs 框架的开发优点。项目名称学生档案管理,简单对学生的基本信息进行增加、修改、删除、查询。淘花/文库专用 http:/ 3 页 3、业务表设计及事务事件设计、业务表设计及事务事件设计 3.1、表设计:、表设计:表名称:PERSON 字段描述 字段编码 数据类型 主键 是否为空 备注 学生编码 PERSONID VARCHAR(10)Y N 系统自动编码2位年+2 位月+6 位顺序码 学生姓名 NAME VARCHAR
5、(60)N N 身份证号 IDCARD VARCHAR(18)N Y 性别 SEX VARCHAR(1)N Y 字典 DIC_SEX 出生日期 BIRTHDAY DATETIME N Y 籍贯 PLACECODE VARCHAR(6)N Y 字典 DIC_CODE 年龄 YEAROLD INT N Y 联系电话 TEL VARCHAR(60)N Y 邮箱 EMAIL VARCHAR(60)N Y 备注 BAK NTEXT N Y Ms Sql 脚本 CREATE TABLE PERSON(PERSONID varchar(10)NOT NULL,NAME varchar(60),IDCARD
6、varchar(18),SEX varchar(1),BIRTHDAY datetime,YEAROLD int,TEL varchar(50),EMAIL varchar(60),BAK varchar(4000),PLACECODE varchar(6),淘花/文库专用 http:/ 4 页 CONSTRAINT PK_PERSON PRIMARY KEY CLUSTERED(PERSONID)ON PRIMARY GO 3.2、事务事件设计、事务事件设计 事务编号 300001 事务名称 学生档案管理 事件名称 事件编码 操作 URL 备注 添加学生 300101 person/psnA
7、dd.jsp 管理学生信息 300102 person/qryPsnList.jsp 新增事务如下:在事务列表界面,点击“增加事务”根据事务事件设计,输入新增事务类型信息:根据事务事件设计,输入新增事件类型信息:备注:1、事件属于事务的下一级,比如事件“添加学生”,就属于事务“学生档案管理”。当添加一个事务之后,就会生成“事务类型字典”,添加事件的时候需要在“事务类型字典”里面选择所属事务。2、“操作 URL”里面录入的信息,表示“添加学生”页面的地址。当用户点淘花/文库专用 http:/ 5 页 击“添加学生”时,就链接到这个页面。3.3、编码规则设计、编码规则设计 编码编号 编码名称 编码
8、长度 编码规则 是否循环 最小值 最大值 100001 学生编号 6 叠加种子 否 1 999999 添加编码规则的意义在于,根据规则自动生成新的序号,比如“学生编号”,从 000001 开始,再次添加学生的时候序号自动变成 000002,以此类推。淘花/文库专用 http:/ 6 页 4、添加用户、角色及角色权限、添加用户、角色及角色权限 4.1、添加用户、添加用户 这里添加系统用户,表示这个用户可以登录系统,根据不同角色赋有的权限,登陆之后就可以获取相应的权限,对系统进行操作。淘花/文库专用 http:/ 7 页 4.2、添加角色、添加角色 角色这个概念很重要,表明是一定的权限,哪个角色有
9、哪些权限,这个都需要管理员进行配置,我们现在新增一个角色“系统用户角色”。4.3、给角色添加权限、给角色添加权限 在列表里,选中系统用户角色”,进行编辑,添加事件类型权限。我们给这个角色添加两个事件,也就是功能“添加学生”与“管理学生信息”。对该角色添加用户就是角色用户,只要属于这个角色里的用户,那么就拥有这个角色所拥有的所有权限。我们将“张三”这个用户添加到这个角色里面,那么“张三”就有了这个角色里的权限“添加学生”与“管理学生信息”。淘花/文库专用 http:/ 8 页 用张三登陆,左边功能树里就有该角色所赋有的权限,登陆界面如下:淘花/文库专用 http:/ 9 页 5、功能模块开发、功
10、能模块开发 5.1、添加学生、添加学生 5.1.1、添加学生页面源代码、添加学生页面源代码 添加页面路径及名称:WebRootperson psnAdd.jsp 添加学生基本信息 !-function doRet()location.href=/qryPsnList.jsp;/提交信息 function doSubmit()Efs.getExt(frmData).submit();/获取异步提交的返回监听函数 function frmPostSubBack(bln,from,action)淘花/文库专用 http:/ 10 页 if(bln)location.href=/qryPsnList.
11、jsp;else var xml_http=action.response;var objXML=xml_http.responseXML;alert(提交失败:+objXML.selectSingleNode(/FUNCERROR).text);objXML=null;xml_http=null;/-form id=frmData class=efs-box method=post url=/ajax?method=psnAdd method=post onEfsSuccess=frmPostSubBack(true)onEfsFailure=frmPostSubBack(false)姓 名
12、 身份证号码 性 别 出生日期 籍 贯 年 龄 邮 箱 电话号码 备注 界面简单截图 淘花/文库专用 http:/ 12 页 5.1.2、添加学生组件接口方法源代码、添加学生组件接口方法源代码 PersonBO.java 里添加 addNew 方法,作用是处理添加学生信息,与学生相关的一些信息都在这个类里,包括添加学生、修改/删除学生、查询学生列表、查询学生详细信息等。添加学生组件路径及名称:srcefsframe person PersonBO.java/*添加学生档案信息 *author enjsky *param strXml XML 数据信息 *return String XML 返回
13、信息 */public static String addNew(String strXml)throws Exception DataDoc doc=new DataDoc(strXml);/创建数据层执行对象 DataStorage storage=new DataStorage();/创建标准返回结构Dom类对象 ReturnDoc returndoc=new ReturnDoc();try int size=doc.getDataNum(Table.PERSON);淘花/文库专用 http:/ 13 页 /解析sql语句 for(int i=0;isize;i+)Element ele
14、=(Element)doc.getDataNode(Table.PERSON,i);/A.001 /为PersonID分配唯一编码 Node node=ele.selectSingleNode(Field.PERSONID);String strId=NumAssign.assignID_B(100001,General.curYear2()+General.curMonth();node.setText(strId);/end A.001 storage.addSQL(SQLAnalyse.analyseXMLSQL(ele);/执行SQL String strReturn=storage.
15、runSQL();if(!General.empty(strReturn)/执行失败,返回异常描述 returndoc.addErrorResult(Common.RT_FUNCERROR);returndoc.setFuncErrorInfo(strReturn);else /执行成功,返回成功节点 returndoc.addErrorResult(Common.RT_SUCCESS);catch(Exception e)淘花/文库专用 http:/ 14 页 /发生异常,返回异常描述 returndoc.addErrorResult(Common.RT_FUNCERROR);returnd
16、oc.setFuncErrorInfo(e.getMessage();/标准的返回XML结构文档 return returndoc.getXML();在AjaxDoAction.Java 中添加方法 在这里,获取页面传递过来的 xml,然后调用相应方法进行处理。action路径及名称:srcefsframe action AjaxDoAction.Java/添加学生档案 public void psnAdd(HttpServletRequest request,HttpServletResponse response,String strQuery)try response.setConten
17、tType(text/xml;charset=utf-8);request.setCharacterEncoding(UTF-8);PrintWriter out=response.getWriter();String strXML=request.getParameter(txXML);UserLogonInfo userSession=(UserLogonInfo)request.getSession().getAttribute(user);String strToXml=PageCommon.setDocXML(strXML,userSession);String strRetXml=
18、PersonBO.addNew(strToXml);out.write(strRetXml);out.close();淘花/文库专用 http:/ 15 页 catch(Exception e)e.printStackTrace();5.2、查询学生列表、查询学生列表 5.2.1、查询学生列表页面源代码、查询学生列表页面源代码 查询学生列表页面路径及名称:WebRootperson qryPsnList.jsp 查询学生列表 var g_XML=Efs.Common.getQryXml();var sPersonID=;function doGridClick(data)sPersonID=d
19、ataPERSONID if(sPersonID!=)Efs.getExt(cmdEdit).enable();Efs.getExt(cmdDel).enable();淘花/文库专用 http:/ 16 页 /进入查询 function doQry()var strXml=Efs.Common.getQryXml(Efs.getExt(frmQry);Efs.getDom(psnList).txtXML=strXml;Efs.getExt(psnGrid).store.load();/修改人员档案 function onEditEx()if(sPersonID=)alert(没有选择学生);r
20、eturn false;Efs.getExt(frmData).reset();var xmlhttp=new ActiveXObject(Msxml2.XMLHTTP);xmlhttp.Open(POST,/ajax?method=getPersonDetail&txtPersonID=+sPersonID,false);xmlhttp.Send();var xmlReturnDoc=new ActiveXObject(MSXML2.DOMDocument);xmlReturnDoc=xmlhttp.responseXML;Efs.Common.setEditValue(xmlReturnD
21、oc.xml,Efs.getExt(frmData),QUERYINFO);xmlReturnDoc=null;xmlhttp=null;Efs.getExt(PsnMWin).show();/提交修改人员信息 function doPsnEdit()Efs.getExt(frmData).submit();/获取异步提交的返回监听函数 function frmPostSubBack(bln,from,action)if(bln)Efs.getExt(PsnMWin).hide();doQry();else 淘花/文库专用 http:/ 17 页 var xml_http=action.res
22、ponse;var objXML=xml_http.responseXML;alert(处理失败:+objXML.selectSingleNode(/FUNCERROR).text);objXML=null;xml_http=null;/删除人员信息 function onDelEx()Efs.getExt(frmData).submit(Efs.getExt(psnGrid).getDelXml(); 姓名 性别 籍贯 学生列表 淘花/文库专用 http:/ 18 页 div id=psnList xtype=store url=/ajax?method=getPerso
23、nList baseParams=txtXML:g_XML autoLoad=true form id=frmData class=efs-box method=post url=/ajax?method=PsnDeal onEfsSuccess=frmPostSubBack(true)onEfsFailure=frmPostSubBack(false)姓 名 淘花/文库专用 http:/ 19 页 身份证号码 性 别 出生日期 籍 贯 年 龄 邮 箱 电话号码 备注 淘花/文库专用 http:/ 20 页 界面简单截图 5.2.2、查询学生列表组件接口方法源代码、查询学生列表组件接口方法源代
24、码 在 PersonBO.java 里添加 personList 方法,作用是查询学生列表信息。查询学生列表的时候调用该方法。查询学生列表组件路径及名称:srcefsframe person PersonBO.java/*查询学生档案列表 *param strXML 标准查询条件结构 *return XML 标准查询返回结构 */public static String personList(String strXML)throws Exception /构造标准查询XML接口分析类对象 QueryDoc obj_Query=new QueryDoc(strXML);Element ele_C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- efsframe Java模型实例教程文档 Java 模型 实例教程 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内