(整理)EAS费用报销模块web二次开发指南.docx
《(整理)EAS费用报销模块web二次开发指南.docx》由会员分享,可在线阅读,更多相关《(整理)EAS费用报销模块web二次开发指南.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、EAS费用报销模块Web二次开发指南 EAS HR系统部 作者 李大伟,贺鹏辉 整理 陈昕 导读 本文从头开始介绍了EAS费用报销Web表单的二次开发方法,同时也说明了开发环境的安装和配置方法。可供机构开发人员对费用报销web表单进行二次开发时参考。 适用范围 EAS费用报销模块web二次开发人员请注意:本文件只作为产品介绍之用,不属于您与金蝶签署的任何协议。本文件仅包括金蝶既定策略、产品及功能方面的信息,不能以本文件作为要求金蝶履行商务条款、产品策略以及开发义务的依据。本文件内容可能随时变更,恕不另行通知。 EAS应用方案目 录概述4目的4范围4定义、首字母缩写词和缩略语4环境准备4jdk安
2、装4pt环境准备4统一的web开发目录 w:webdev4统一开发工作区间 webdev/workspace4W:webdevapusicstudio-5.1为开发工具,双击studio.cmd启动开发工具5更新和部署AOM5部署easweb.ear5修改W:easServerserverdeployeasweb.eareas_web.warWEB-INF下operamasks.xml6启动服务器,以协同办公费用报销单为例:可以通过7新建WEB工程7新建Apusic标准工程7添加web模块8新建faces页面13添加Apusic服务器16运行我们的应用18定义及发布元数据19实体的定义和发布1
3、9查询的定义和发布19生成WEB界面代码19设置web界面代码路径19生成web界面代码20添加库文件23添加用户库23添加WAF包23添加业务逻辑类引用23WEB界面代码的修正25* EditBean.java的修正25*Edit.xhtml文件的修正25*List.xhtml文件的修正27部署及启动EAS WEB应用27部署EAS WEB27Pt环境下启动EAS 服务27二次开发应用28修改业务单元28发布业务单元28执行升级脚本29搭建web开发环境29修改web页面29修改managedBean29部署二次开发应用30常见问题30#message* EL Expression 错误30
4、编辑界面单据体(分录部分)无法显示30如何检查调用类的物理路径30下载文件时会在线打开,且出现乱码(如何进行文件的下载)30表单编辑页中点击新增分录时出错33在EditBean或ListBean中,通过IBOSBizCtrl设置了某个接口(如:IBOSBizCtrl private IDocReceive service;),但发现在使用该接口service时,service为null33在view上找不到managedBean33按钮或者其他控件的状态被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。33WEB主界面开发方法33编制jsp页面。33配置portlet模板信息。34Po
5、rtlet业务配置信息设置。34Portlet基础定义设置。34页签配置35参考资料35概述目的根据标准web单据开发流程,描述以下内容:l 环境准备l Web工程的创建l 元数据的定义和发布l Web界面代码的生成l Web界面代码的修正l EAS web的部署和运行l 二次开发应用l Web主界面的开发方法范围适用版本:Kingdee EAS 6.0,Kingdee BOS 6.0定义、首字母缩写词和缩略语l AOM:Apusic OperaMask,金蝶中间件公司的Web开发框架l AAS:Apusic Application Server:金蝶中间件公司的J2EE应用服务器产品l Ex
6、t JS:一套基于Java Script的浏览器端UI组件库环境准备jdk安装jdk要求5.0以上版本。pt环境准备pt搭建一个gui的开发环境。统一的web开发目录 w:webdev统一开发工作区间 webdev/workspace如图所示:W:webdevapusicstudio-5.1为开发工具,双击studio.cmd启动开发工具Apusicstudio可以到获取。更新和部署AOM可以到获取AOM最新版本部署easweb.ear修改部署文件W:apusicdomainsserver1configserver.xml加入<application name="EASWeb&
7、quot; base="W:/eas/Server/server/deploy/easweb.ear" start="auto"/>如图所示:easweb.ear结构如图:修改W:easServerserverdeployeasweb.eareas_web.warWEB-INF下operamasks.xml开发那个项目将哪个项目的jar包配置项删掉。如开发协同费用报销就将<jar>cp_bc_web.jar</jar>删除掉。如图: 将从cvs上获得的或开发完成的view (即xXXX.xhtml)拷贝到W:easServe
8、rserverdeployeasweb.eareas_web.war 将从cvs上获得的开发完成的ManagedBean(即XXXXBean)拷贝到 W:easServerserverdeployeasweb.eareas_web.warWEB-INFclasses 注:以上路径没有包含包名,拷贝时需要将自己加上包路径,如cpbc 如图所示:启动服务器,以协同办公费用报销单为例:可以通过bizAccountBillList.jsf访问。新建web工程由于WAF目前混合使用Apusic Studio(Web UI开发)与BOS Studio(Web元数据定义与框架代码发布),所以是先进行web工
9、程的新建还是先进行EAS元数据的定义,我们并没有严格的限制,可根据个人熟悉程度决定。新建Apusic标准工程我们使用Apusic作为我们的web容器,所以我们从新建Apusic标准工程开始我们的标准单据开发的旅程。在Apusic studio中点击“文件新建Apusic标准工程”,如下图:包含以下几个点的定义:项目名称,空间及存储位置选择,服务器选择,域选择及J2EE版本的选择,输出文件夹。我们可以在此进行本地服务器的新建也可以在后续过程中添加服务器,为不影响新建流程的顺畅,我们将在后续步骤中单独描述。J2EE版本的选择应该引起注意,我们须要选择5.0以上的版本。定义好上述内容后点击完成,我们
10、可以在打开包视图查看工程目录结构如下:添加web模块点击新建工程根目录,右键选择“新建web模块”:打开对话框如下:需要注意源文件夹(用来存放源代码)及web内容文件夹(用来存放页面,配置信息等资源文件)。点击下一步:EAS web应用框架建立在AOM基础上,所以我们不得取消“支持AOM”的选项。AOM的配置中需要注意url后缀的配置,该配置意味该后缀的请求都将由AOM处理。我们按习惯修改成*.jsf,定义好以后我们将可以在web.xml中发现相应的配置内容: <servlet-mapping> <servlet-name>Faces Servlet</servl
11、et-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping>完成上述步骤,点击完成web模块的新建,我们发现工程目录下增加了src及WebContent目录:新建faces页面选择“文件新建Faces页面”:选择是否生成managebean,以及managebean设置,如果只是新建一个静态视图,那么可以不进行managebean的定义。点击完成页面新建。添加Apusic服务器前面在新建工程中已经提到服务器的选择,在此将对服务器新建做进一步描述。在新建或增加服务器之前请确保已正确安装了Apus
12、ic服务器,Apusic服务器的安装再次不再累述。打开Apusic服务器列表视图,在视图中点击右键,并选择增加服务器:添加服务器后我们需要为我们的应用指定对应的Apusic服务器,打开工程属性对话框如下图:运行我们的应用服务器启动过程中我们可以在控制台看到相应信息,部分截图如下:可以看到服务器已成功启动,我们定义的上下文根目录是mydemo,接下来我们使用进行访问,结果如下图:至此,web工程的新建完成。定义及发布元数据元数据的定义在此特指单据实体及查询的定义,因为只有实体及查询才能发布成web界面,生成web界面代码。实体及查询的定义与非web应用中实体及查询的定义一样,没有差别。实体的定义
13、和发布与一般实体的定义和无差别 查询的定义和发布与一般查询的定义和无差别生成web界面代码设置web界面代码路径生成web界面代码前我们需要对生成代码的存放位置进行设置,在BOS Studio中通过“窗口首选项”进入首选项配置页,左侧树形菜单中选择“BOS生成web界面代码”:将代码路径设置成我们web工程的源文件路径,将页面路径设置成我们web工程的web内容文件夹路径,点击确定完成设置。生成web界面代码接下来我们可以生成web界面代码:选择要生成界面代码的实体或查询,点击右键并选择“生成web界面代码”:回到Apusic studio并刷新工程,我们可以看到工程目录如下图:增加了相应的页
14、面文件及逻辑代码。通常一个实体通过上述步骤会生成以下几个文件:编辑逻辑managebean及分录bean及相应属性文件:编辑页面文件:查询元数据生成web界面的过程与实体生成web界面的过程一样,只是结果文件不同:列表逻辑managebean及相应属性文件:序时薄页面文件:至此,web界面代码的生成过程已经完成。至于生成的代码内容大家可以打开相应文件细看,我们也将在后续部分中插述部分重要内容。后续将做个表格,对生成的代码及页面文件进行说明添加库文件添加用户库发布web界面代码并刷新web工程后我们的web工程出现了诸多错误,让我们看看究竟是什么原因引起了错误:发布的界面代码找不到依赖的业务逻辑
15、类。我们需要添加用户自定义库。在web工程的构建路径中引入W:easdev下的boslib_for_eas.userlibraries和easlib_for_eas.userlibraries添加WAF包从W:easServerserverdeployeasweb.eareas_web.warWEB-INFlib下拷贝以下文件到工程目录的WebContentWEB-INFlib中,当然你也可以通过在构建路径中引入外部jar包的方式配置。添加业务逻辑类引用这里指的业务逻辑相关类即发布元数据时生成的类文件。我们有多种方式去引用这些类,由于业务的需要,我们可能需要修正这些类中的部分代码,所以打包加载
16、的方式有些不方便,故建议在构建路径的源代码一项中添加关联目录:选择元数据发布的源代码目录。Web界面代码的修正* EditBean.java的修正在EditBean的pageOnload()中有类似语句:我们须要修正为:*Edit.xhtml文件的修正l 将#messages'*'形式的表达式都直接换成相应的信息,如#messages'creator'替换为creator或“创建人”。l 将messages'entries.seq'替换为entries_seq或其他。l 将<ui:define name="entry>&qu
17、ot;>修改为<ui:define name="entry">l 去除了多余字段。l 将重新定义分录操作界面:把biz:billEntryActions标签的内容替换为分录操作的自定义部分,可以如下:修正前:<div class="kd-panel-btns-right"> <biz:billEntryActions beanName="#phdemo.PhInWarehouseBillEditBean" entryBeanName="#phdemo.PhInWarehouseBillEn
18、tryBean"></biz:billEntryActions> </div>界面效果(点击操作按钮出错,且无具体提示信息):修正后:<h:panelGrid columns="3" style="float: right"><w:button id="addRow" value="新增" alwaysSubmit="true"immediate="true"action="#phdemo.PhInWareh
19、ouseBillEntryBean.appendRow" /><w:button id="insertRow" value="插入"alwaysSubmit="true" immediate="true"action="#phdemo.PhInWarehouseBillEntryBean.insertRow" /><w:button id="removeRow" value="删除"alwaysSubmit="t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 EAS 费用 报销 模块 web 二次开发 指南
限制150内