专题资料(2021-2022年)Hipay系统自助终端页面开发流程和规范06版.doc
《专题资料(2021-2022年)Hipay系统自助终端页面开发流程和规范06版.doc》由会员分享,可在线阅读,更多相关《专题资料(2021-2022年)Hipay系统自助终端页面开发流程和规范06版.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 终端页面开发流程和规范终端页面开发流程和规范 0 0.6 6 版版文件状态:草稿 正式发布 正在修改文件标识:当前版本:0.6撰 稿 人:李水生完成日期:发布时间:编号:2005 年 12 月 23 日版版 本本 历历 史史版本/状态作者参与者起止日期备注草稿Hipay 系统自助终端页面开发流程和规范系统自助终端页面开发流程和规范一:一:Hipay 页面开发页面开发1 目录结构:目录结构:1.1:顶层目录结构:顶层目录结构 图(图(1)所示)所示Applications:目录里放着我们创建的应用板块。Framework:里是 Hipay 系统应用,包含实体和服务板块Base:里放着启动,容器
2、和配置和组件加载等公共类。Data:是 Hipay 内建的数据库。Logs:是系统日志文件夹。Hipay.bat 是启动文件。图(1)1.2:applications 目录目录图(图(2)所示)所示Accounting:帐务管理,支付信息,发票等。Content:内容管理,调查等。Ecommerce:电子商务应用。Order:订单管理。Party:人员组织管理Securityext:安全管理拓展Product:产品管理。Component-load.xml:板块加载配置文件。图(2)1.3:ecommerce 目录目录 图(图(3)所示)所示Src:java 源文件。Config:配置文件,主
3、要是多语言的配置文件Data:系统运行时需要导入的数据文件Script:Hipay 系统 mini-lang 文件(简单 Java 方法)Templates:模板页面Webapp:web 服务需要用到的页面和脚本Widget:用 xml 描述的页面Build.xml:用 ant 工具编译 src 文件夹的源文件生成的 classes 文件和 jar 包放在 build 中。giantstone-component.xml:电子商务板块加载配置文件。图(3)1.4:webapp 目录目录Webapp 下有一个应用文件夹为 ecommerce,其目录结构如图(4)所示:除了 WEBINF 文件夹以
4、外,其他的文件都是页面文件,页面文件都是以 ftl 为后缀的freemaker 模板页面。图(4)1.5:WEBINF 目录如图(目录如图(5)所示)所示Actions:系统脚本文件夹,beanshell 脚本controller.xml:流程控制器web.xml:网站参数设置图(5)1.6:actions 目录目录 如图(如图(6)其文件结构和图(4)中的 ftl 页面结构是对应的。比如说显示购物车信息的页面 showcart.ftl 放在图(4)cart 文件夹中,则对应的脚本showcart.bsh 放在图(6)的 cart 文件夹中,这样做不是必需的,但是是规范的,易于维护的。图(6)
5、1.7:widget 目录目录Widget 是把 ftl 页面和 bsh 脚本组合起来供前端显示的工具。它用 xml 语言和特定标签描述页面和页面,页面和脚本之间如何组合和定制。CommonScreens.xml 是公共模板定制页面CartScreen.xml 是购物车相关页面定制CatalogScreens.xml 是产品,目录的显示的页面定制CustomerScreens.xml 是有关调查,寻价和客户方面的页面定制ContentScreens.xml 是跟内容管理相关的页面定制OrderScreens.xml 是跟订单和支付相关的页面定制EcommerceSetup.bsh 是公共模板加
6、载的脚本图(7)其他板块的目录结构和 ecommerce 是相似的。2 开发内容开发内容2.1:对:对 widget 组合页面要熟练掌握。组合页面要熟练掌握。Web Widget 是轻量级的 Web 应用程序,为使用者提供一键式的服务。它通常被设计为具有特定的功能,如提供天气、股票、拍卖等的信息。它与网页一样,使用标准的 Web 技术开发,如 XHTML,CSS,javascript 等。从这方面看,Widget 是脱离浏览器 UI 运行的网页。beanshell 脚本准备数据,freemaker 页面显示数据,而 widget 工具正是组合脚本和页面的,它规定了哪个脚本为哪个页面组织数据,即
7、起到绑定脚本和页面的作用,同时也可以定义某些变量供页面使用,当然有些页面可以没有脚本,简单的来说,widget 就是用户请求页面,它把变量,标签和 freemaker 模板语言组合生成 HTML 页面,当用户请求时就发送给用户浏览器。Widget 用到的标签在 framework/widget/dtd 里的 xsd 文件里,如图(8)图(8)在 eclipse 开发环境下,有代码预示的功能,如图(9)图(9)图(10)图(10)的!-的内容是注释,从图中的注释清楚地介绍的用 widget 如何定制一个模板。screenScreen 标签对应的是前端请求的页面,页面的名称 name 属性是必须的
8、。sectionScreen 下有一个唯一的 section,section 下包含 condition,actions,widgets 和 fail-widgets 标签。condition如果 condition 存在,并且 condition 是 true 则页面显示 widgets 内容,否则显示 fail-widgets。如果 condition 不存在,则 fail-widgets 标签也就没有必要。以下是对 attrName 非空的判断:是检查当前用户是否拥有对 order 的 VIEW(查看)的权限 是把变量跟某个常量进行比较,操作包括 less greater equals
9、less-equals greater-equals not-equals contains,分别表示,小于大于 等于 小于等于 大于等于 不等 包含。是把两个变量进行比较,type 类型值可以为 Float Double Integer Long Boolean String PlainStringDate Time Timestamp 和 Object,如果没有 type 默认为 String。and 是对多个条件进行与操作or 或操作 xor 异或not 非其他的标签请查看图(8)所示的文件中内容。actionsactions 是加载页面之前的动作。常用的动作是:set:set 定义一个
10、变量并赋值 field 的值就是变量名 value 是变量值;script:script 加载一个 beanshell 脚本文件,location 是脚本的位置,位置以”component:/xyz/”开头,意思是在 xyz 这个板块下,xyz 是在 Hipay 的安装目录下的 applications 和 framework 下的第一层子目录文件夹,如图(2)得文件夹都可以作为这里的 xyz。property-map:property-map 加载一个属性文件,resource 的值是文件的名称,文件后缀为 properties,可省略不写,对于多语言,比如要加载简体中文配置文件 TMSBa
11、seUiLabels_zh_CN.properties和美国英语配置文件 TMSBaseUiLabels_en_US.properties,并把配置文件的键值对放在一个Map 即 uiLabelMap 中,作为全局变量是用,只需要这样一行代码:这行代码会加载所有各种语言的配置文件,然后根据用户的 locale,读取当时当地的语言配置。还有一点需要注意,如果 uiLabelMap 在 TMSBaseUiLabels_zh_CN.properties 中找不到键 值,它 会 去 TMSBaseUiLabels_zh.properties 查 找,如 果 没 找 到,则 继 续 查 找TMSBase
12、UiLabels.properties,如果仍然没有值则返回键本身,如果有则返回文件中定义的值;widgetsWidgets 是对页面的加载和布局。常用的加载页面的方法包括1:platform-specificcomponent:/TMSBase/webapp/TMSBase/includes/header.ftl 为要加载的文件路径和名称。即TMSBase 这个板块下 webapp 文件夹的子文件夹 TMSBase 下的子文件夹 includes 下的header.ftl 文件。2:include-screen这行代码的意思是加载一个页面,这个页面是在 TMSBase 这个板块下的 widg
13、et 文件夹下的bcd.xml 文件里定义的 abc 页面。abc 是 screen 的 name 的值。3:decorator另外,模板常用到这行代码 ,意思是页面的 body 部分是空的,其他页面使用以下代码使用这个模板,main-decorator 是模板的名称(screen 的 name 的值)则其他页面的内容出现在 body 部分。4:containerWidget 中可以加载容器 容器里面可以加载其他页面,这类似于HTML 中的 DIV 层。以下代码是合法的:和效果是等同的,其他类似。5:widget 中的中的 sectionwidgets中可以放置多个section6:其他:其他
14、加载一个图片可以使用 页面上显示一行文字可用其他的标签请查看图(8)所示的文件中内容。fail-widgets等同于 widget 标签,是条件不满足时给用户显示的页面。2.2:对:对 freemaker 模板语言的熟练掌握模板语言的熟练掌握2.2.1:各页面功能及存放位置:各页面功能及存放位置页面文件后缀为 ftl,存放在图(4)所示的目录中,即 webapp 下的应用文件夹中图(4)自助终端目前用到的页面中有图(4)中的部分页面:main.ftl 是主页面,用户返回时会到此页面,该页面左边显示分类,右边显示推广产品。mainframe.ftl 框架页面分三个部分 框架上面部分占 99.98
15、%是用户操作的业务页面,框架中间占 0.01%,是用来加载终端插件,框架下部是用来加载加密插件和进行加密验证的。mainup.ftl 是语言选择页面。login.ftl 是用户刷卡登陆页面。cart 下的 showcart.ftl 页面(购物车页面)catalog 下的 sidedeepcategory.ftl(终端屏幕的左边目录翻页页面)customer 下的 survey.ftl(调查页面即用户的密码,号码输入页面)error 下的 error.ftl(错误页面)includes 下的:header.ftl 模板头部导航栏 加载样式表 定制页面超时脚本footer.ftl模板底部留个按钮h
16、idebottom.ftl 加载终端插件,是页面底部框架固定不动的部分,对于不同的终端,申明和条用插件的方式可能不同,此时需要编写多个厂家的底部框架页面。jiami.ftl 工行自助终端用到的加密插件页面。order 下的checkoutoptions.ftl 该页面显示正在支付中,请用户等候,该页面向后台传递了用户的支付方式,货物的运送方式,联系方式等等重要信息,不可或缺。ordercomplete.ftl 该页面是支付完成页面,显示支付结果,成功则用户可以选择打印凭条。另外还用到了 order 板块的 webapp 下 ordermgr 的字文件夹 entry 的 catalog 的部分文
17、件,如图(11)图(11)calldetailIE.ftl 是天一终端的 IE 浏览器在进行银行卡打电话业务时显示的页面。calldetailNE.ftl 是芙蓉终端 mozzila 浏览器银行卡打电话页面category.ftl是显示产品分类的页面 其指向 categorydetailcategorydetail.ftl 是产品分类的详细信息页面 其指向 productsummary.ftlproductsummary.ftl 是某一个分类下所有产品的简要介绍页面,在终端上就是显示在屏幕右边的四个按钮上的内容。product.ftl 是产品页面 其指向 productdetail.ftl 页
18、面productdetail.ftl 页面是根据对产品的配置的详情页面来展示产品。比如银行卡打电话这个产品就是配置成了 calldetail.ftl,如果没有配置则默认显示 productdetail.ftl 页面2.2.2:常用的页面标签:常用的页面标签以下例子中可以见到常用到了页面标签。$uiLabelMap.chooseLanguage#-$uiLabelMap.firstPagedownInformation-input type=button id=$styleValueclass=buttonImgClassvalue=$uiLabelMaplanguage.description
19、?if_existsname=$index*2onclick=window.location=$language.requestUri?if_exists;/2.2.2.1 注释注释 注释的内容不能出现-字样#-$uiLabelMap.firstPagedownInformation-要注意区分 HTML 页面的注释 2.2.2.2赋值赋值 assign设置变量页面使用变量时用$index,将会显示 52.2.2.3 条件判断条件判断 if else使用时以尖括号和#开头 并以 结尾b)A 比 B 大A 不比 B 大2.2.2.4 列表列表 listsizeindexlanguagesList
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专题 资料 2021 2022 Hipay 系统 自助 终端 页面 开发 流程 规范 06
限制150内