ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:509KB ,
资源ID:7209403      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7209403.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Hipay系统自助终端页面开发流程及规范0.6版.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Hipay系统自助终端页面开发流程及规范0.6版.doc

1、 终端页面开发流程和规范0.6版 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 文件标识: 当前版本: 0.6 撰 稿 人: 李水生 完成日期: 发布时间: 编 号: 2005年12月23日 版 本 历 史 版本/状态 作者 参与者 起止日期 备注 草稿 Hipay系统自助终端页面开发流程和规范 一:Hipay页面开发 1 目录结构: 1.1:顶层目录结构 图(1)所示 Applications: 目录里放着我们创建的应用板块。 Framework: 里是Hipay系统应用,包含实

2、体和服务板块 Base: 里放着启动,容器和配置和组件加载等公共类。 Data: 是Hipay内建的数据库。 Logs: 是系统日志文件夹。 Hipay.bat是启动文件。 图(1) 1.2:applications 目录 图(2)所示 Accounting : 帐务管理,支付信息 ,发票等。 Content : 内容管理,调查等。 Ecommerce : 电子商务应用。 Order : 订单管理。 Party :人员组织管理 Securityext : 安全管理拓展 Product : 产品管理。 Component-load.xml : 板块加载配置文件。

3、 图(2) 1.3:ecommerce 目录 图(3)所示 Src : java源文件。 Config : 配置文件,主要是多语言的配置文件 Data : 系统运行时需要导入的数据文件 Script : Hipay 系统 mini-lang文件(简单Java方法) Templates : 模板页面 Webapp : web 服务需要用到的页面和脚本 Widget : 用xml描述的页面 Build.xml : 用ant工具编译src文件夹的源文件生成的classes文件和jar包放在build中。 giantstone-component.xml : 电子商务板

4、块加载配置文件。 图(3) 1.4:webapp 目录 Webapp 下有一个应用文件夹为 ecommerce ,其目录结构如图(4)所示: 除了 WEB—INF 文件夹以外,其他的文件都是页面文件,页面文件都是以ftl为后缀的freemaker模板页面。 图(4) 1.5:WEB—INF 目录如图(5)所示 Actions : 系统脚本文件夹 ,beanshell脚本 controller.xml :流程控制器 web.xml :网站参数设置 图(5) 1.6:actions 目录 如图(6) 其文件结构和图(4)中的ftl页面结构是对应的。 比如

5、说显示购物车信息的页面showcart.ftl放在图(4)cart文件夹中,则对应的脚本showcart.bsh放在图(6)的cart文件夹中,这样做不是必需的,但是是规范的,易于维护的。 图(6) 1.7:widget 目录 Widget是把ftl页面和bsh脚本组合起来供前端显示的工具。它用xml语言和特定标签描述页面和页面,页面和脚本之间如何组合和定制。 CommonScreens.xml 是公共模板定制页面 CartScreen.xml 是购物车相关页面定制 CatalogScreens.xml 是产品,目录的显示的页面定制 CustomerScreens.xml

6、 是有关调查,寻价和客户方面的页面定制 ContentScreens.xml 是跟内容管理相关的页面定制 OrderScreens.xml 是跟订单和支付相关的页面定制 EcommerceSetup.bsh是公共模板加载的脚本 图(7) 其他板块的目录结构和ecommerce 是相似的。 2 开发内容 2.1:对widget组合页面要熟练掌握。 Web Widget是轻量级的Web应用程序,为使用者提供一键式的服务。它通常被设计为具有特定的功能,如提供天气、股票、拍卖等的信息。它与网页一样,使用标准的Web技术开发,如XHTML,CSS,javascri

7、pt等。从这方面看,Widget是脱离浏览器UI运行的网页。 beanshell脚本准备数据,freemaker页面显示数据,而widget 工具正是组合脚本和页面的,它规定了哪个脚本为哪个页面组织数据,即起到绑定脚本和页面的作用,同时也可以定义某些变量供页面使用,当然有些页面可以没有脚本,简单的来说,widget就是用户请求页面,它把变量,标签和freemaker模板语言组合生成HTML页面,当用户请求时就发送给用户浏览器。 Widget用到的标签在framework / widget / dtd 里的xsd文件里,如图(8) 图(8) 在eclipse开发环境下,有代码

8、预示的功能,如图(9) 图(9) 图(10) 图(10)的

<#if languagesList?has_content> <#list languagesList as lang

24、uage> <#if language?has_content> <#assign index = 4 - languagesList?size + language_index +1> <#assign styleValue = "productcontent" + index>

25、 onclick="window.location='<@giantstoneUrl>${language.requestUri?if_exists}';"/>

2.2.2.1 注释<#-- --> <#-- --> 注释的内容不能出现 -- 字样 <#--
${uiLabelMap.firstPagedownInformation}
--> 要注意区分HTML页面的注释

26、 2.2.2.2 赋值assign 设置变量 <#assign index = 5> 页面使用变量时用 ${index} ,将会显示5 2.2.2.3 条件判断 if else 使用时以尖括号和#开头 <#if boolean> 并以 结尾 <#if (a>b)> A 比B大 <#else> A 不比B大 2.2.2.4 列表 list size index <#assign languagesList = { Chinese ,English ,French} > languagesList size =

27、 ${languagesList?size} <#list languagesList as language> ${language} 位置是 ${language_index} , 则最后显示的结果是: Chinese位置是 0 , English位置是 1 , French位置是 2, 2.2.2.5 异常处理 如果变量值没有定义页面就会报错,加上以下一些判断,可以消除页面上的错误: exists if_exists has_content default exists 是对某个变量进行判断,返回值是布尔型 true or fa

28、lse ; if_exists 返回是字符串,对某个变量进行判断 如果值或引用不存在则显示空串,相当于“”; has_content 对变量进行判断,如果值或引用存在并且不为空时才为true 否则为false。 default 如果变量无值就设定默认值。 <#if someparameter?exist> ${someparameter} <#if someparameter?has_content > ${someparameter} ${someparameter?if_exists} ${someparameter?default

29、defaultValue”) } 2.2.2.6 其他 对于自助终端页面目前常用就是上面介绍的这些标签 更多请参考FreeMarker设计指南.doc 推荐登陆官方网站www.freemaker.org查看详细手册。 2.3:对beanshell脚本的熟悉 Beanshell 是宽松的Java,使用变量前无需定义,它完全兼容Java语法。 详情请登陆官方网站 www.beanshell.org Flt页面负责显示后台传来的数据,对页面来说beanshell脚本是重要的后端数据源, 在beanshell里可以直接引用request变量和context变量

30、 通过request的getParameter(“name”) 方法bsh脚本可以获取前端页面传来的参数 通过context的put(“name”,value) 方法bsh脚本可以把经过处理的数据送回前端页面显示。 页面使用 ${ name }即可显示。 request 可以得到delegator 和 dispatcher delegator bsh脚本中得到delegator: delegator = request.getAttribute("delegator"); delegator 是实体引擎对数据库增删查改的代理器; 数据库查找 根据主键查找: Bs

31、h脚本中最常做的事情是到数据库中查找数据供前台页面展示。 value = delegator.findByPrimaryKey( "数据库表名", inMap ); inMap放置主键键值对. UtilMisc.toMap("name","value")方法是把键值对放入Map中 比如: orderHeader=delegator.findByPrimaryKey("OrderHeader",UtilMisc.toMap("orderId", "1000")); 意思是在表OrderHeader中查找主键(orderId)等于 1000的记录,查出后赋给orderHeader。

32、 根据某几个字段交集查询: valueList = delegator.findByAnd( "数据库表名", inMap ); orderHeader=delegator.findByAnd("OrderHeader", UtilMisc.toMap("statusId", "APPROVE","grandTotal","200")); 意思是在表OrderHeader查询状态是APPROVE并且交易金额是200元的记录列表。 根据某几个字段并集查询: valueList = delegator.findByOr( "数据库表名", inMap ); order

33、Header=delegator.findByOr("OrderHeader", UtilMisc.toMap("statusId", "APPROVE","grandTotal","200")); 意思是在表OrderHeader查询状态是APPROVE或者交易金额是200元的记录列表。 根据条件查询: delegator.findByCondition(数据库名, 条件列表, 需要查询出来的字段列表, 字段排序列表) 需要查询出来的字段列表如果设置为 null 则默认查出所有字段。 创建条件 比如产品号等于10001: Condition1 = new Enti

34、tyExpr("productId", EntityOperator.EQUALS, "10001")); 状态是ACTIVE: Condition2 = new EntityExpr("statusId ", EntityOperator.EQUALS, "ACTIVE")); 生产日期大于某个日期date1: Condition3 = new EntityExpr("munaDate", EntityOperator.GREATER_THAN, date1)); 过期时间小于或等于某个日期 data2: Condition4 = new EntityExpr("overDate

35、", EntityOperator.LESS_THAN_EQUAL_TO, date2)); 总条件: Conds = new LinkedList(); 添加条件: Conds.add(Condition1); Conds.add(Condition2); Conds.add(Condition3); Conds.add(Condition4); 设置条件之间的关系为与关系: findCondition= new EntityConditionList(Conds, EntityOperator.AND); 设置排序:按产品号倒序排列。 orderby = Util

36、Misc.toList("-productId ") ; 开始查询: findResultList=delegator.findByCondition( "Product", findCondition, null, orderby ); 其他查询方法请参考com.giantstone.entity.GenericDelegator类的方法。 删除数据库记录 在查询方法中介绍的比较详细,此处不再赘述相关内容。 根据主键删除: GenericPK pk = ((GenericValue)it.next()).getPrimaryKey(); delegator.r

37、emoveByPrimaryKey(pk); 根据某几个字段交集删除 delegator.removeByAnd("TermService",UtilMisc.toMap("DEVTYPEID",sDEVTYPEID)); 根据条件删除 delegator.removeByCondition(“数据库表”,“条件列表”); 删除列表 delegator.removeAll(List); 可以先查出一个列表,然后删除。 其他删除方法请参考com.giantstone.entity.GenericDelegator类的方法。 增加数据库记录 delegator.create

38、 "数据库表名", inMap ); 比如:nowTimestamp是当时时间 delegator.create( "Product", UtilMisc.toMap("productId", "10002", "statusId", "CREATE", "fromDate", nowTimestamp)); 意思是往表Product中插入一条产品号是10002 状态是CREATE,开始日期是nowTimestamp的记录。 更改数据库中的记录 value 是数据库的一条记录。 fields是实据库字段的键值对Map value = makeValue(“数据库表”, fie

39、lds) delegator.store(value); 根据条件更新: delegator.storeByCondition(); delegator.storeByCondition("数据库表名", 要更新的字段, 更新条件); dispatcher bsh脚本中得到dispatcher: dispatcher = request.getAttribute("dispatcher"); dispatcher 是服务引擎的调度器。 调用服务方法: 同步调用服务: outMap = dispatcher.runSync ("服务名" , inMap ) ; inMap

40、是输入参数组成的Map ; outMap是输出参数组成的Map ; 2.4:熟悉流程控制器controller.xml handler 控制器定义了对于各种类型请求或响应采用何种方法来处理。

41、ler name="service" type="request" class="com.giantstone.webapp.event.ServiceEventHandler"/>

42、在controller.xml里有大量的 uri是页面的请求。 request-map 上面代码的意思是: 如果有请求是main ,第一步安全验证,https=true,表示要走https安全协议,https =false 就走http协议,au

43、th=true强制调用checkLogin请求,验证用户是否已登录,auth=false则不检查此项,第二步意思是如果成功则到请求main页面。main页面在view-map中介绍。 再看看checkLogin: 验证用户是否登陆 这个请求中https=true,走https协议,auth=false,它当然不能递归调用自己。 event 是对该请求的响应事件 type=”java” 表示后台用java方法来处理这个请求,path是java的路径,invoke的值是java类的某个静态

45、方法。 方法会返回“success” 或者"error",如果是前者,则页面转到main页面,否则到login页面。 处理请求的事件除了java还有 service ,用一个服务来响应一个请求,服务会返回“success”或者"error"。 常用的还有simple 是mini-lang ,即简单java语言,详情参看 安装目录\framework\minilang\dtd\simple-methods.xsd及各板块中script文件夹的例程。 当一个请求的response的type是 “request”的时候 会根据value的值来继续找 request -map的对应值,这样就形成了链式请求,即多个请求连续调用。当最后一个请求的值肯定会落在type 是 “view”上。应为HTTP请求肯定会给用户一个回应。 view-map 当一个请求的response的type 是 “view”的时候 就会根据value的值来

47、找 view-map的对应值。 上面代码的意思是如果来了view的页面请求,就去accounting这个板块的widget文件夹下的CommonScreens.xml文件中定义的main的页面。type=“screen”表示使用widget工具生成页面。 其他依次类推。 具体标签请参看: 安装目录\framewor

48、k\webapp\dtd\ site-conf.xsd 3 开发顺序 3.1:理解流程控制器 controller.xml 开发之前,设计人员设计好控制流程,即编写好板块的controller.xml文件。 controller.xml里所有的请求uri (request-map uri="xxx" )都是与freemaker页面上的请求<@giantstoneUrl>/xxx 一一对应。对于用户从页面上提交的请求,流程控制器就能接受到这个请求,并按预定义的事件进行处理,处理完成之后,根据处理结果,会转到不同的页面标识 (

49、name="页面标识" type="screen" page="widget工具定制的页面"/>)这样一次请求响应就完成了。 3.2:理解页面组合器 widget 定制XML页面文件。 在流程控制器里以下代码: 意思是页面标识是showforum的页面在ecommerce版块下widget文件夹下的 ForumScreens.xml文件描述的screen name=”for

50、um”部分。 此外开发人员必须熟悉2.1节内容,即widget标签使用。 3.3:页面人员开发 按照流程控制器的内容规范前台页面的请求名(必需与request-map 中的uri对应上); 按照流程控制器中页面定义建立页面文件结构。 根据业务页面文档或者PowerPoint文档编写页面。 根据显示需要编写beanshell脚本。 4 数据库表结构 需要熟悉的数据库表结构,具体的标字段定义在各自板块的entitymodel.xml文件中。 Party板块 当事人表

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服