Data组件基础04:Tree、主从数据、更新模式

一、树型数据 下面介绍一下Data组件的树型数据特性 Data的数据是按行(Row)存储进行存储的,当然树型数据也是按行(Row)存储,只是针对树特点在Row上增加了rows存放子行 rows : [ { rows: [...], ... },... ] 1、Data组件树相关属性 isTree : boolean 树型数据标识 treeOption :Object 树型数据相关参数 包括属性: parentRelation: 父关系,形成父子树的父关系 rootFilter: 根过滤条件,当设置时树形数据将按节点加载数据 delayLoad: 延迟数据加载,默认值为true nodeKindRelation: 节点类型关系,data操作时使用指定relation自动记录是否叶子节点信息 2、Data组件树相关api Data.getTreeOption();--------获取树的定义信息,返回TreeOption TreeOption包括属性: isDelayLoad [...]

第2章 加密应用使用说明

1.1 授权应用License注册功能   图2.1  注册应用License功能 1.2  部署应用 向开发商索要加密的应用模型资源 部署到小机构或者企业版(非开发版) 1.3  申请应用授权 先开发商申请应用授权License(必须提供X5平台授权码,其他和应用开发商确认)。 1.4   注册应用授权License 图2.2  注册应用License功能 图2.3  注册应用License 填入从开发商获取的appLicense,点击“注册”如果成功会提示license……规格 本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5! 阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443

第1章 开发商使用说明

1.1 功能授权 开发商使用功能有:“创建应用开发商数字证书”、“加密模型”、“生成应用License”三个功能 授权上述三个功能 图1.1功能授权 1.2  开发商数字证书申请 开发商数字证书需要开发商妥善保管(丢失无法找回,只能重新申请) 数字证书设置口令(一定要设置,使用证书时需要进行口令校验) 数字证书将用于应用加密和应用授权制作 创建开发商数字证书功能 图1.2创建数字证书功能 图1.3创建数字证书 点击生成后下载保存数字证书“developer.cert.xml”文件 1.3   开发商应用模型代码加密(必须是开发调试启动tomcat,推荐在studio中启动tomcat) 加密模型包括: BIZ:.m------>.me src------>slib UI:.w------->.release 其他保留,注意dsrc和dclasses不能修改,依赖src时将不能进行动态编译 应用模型代码加密 图1.4加密模型功能 图1.5加密模型 发布模型前如果在studio中没有编译过请勾选“强制编译模型”,这里建议使用studio中的模型编译(性能更好) 点击“执行”后“加密后模型存放路径”下是完整可发布的应用模型 1.4   制作发送应用授权License 制作发放应用授权License 图1.6生成应用License功能 图1.7  生成License 应用License是和申请人的用户授权码绑定的,授权码变更应用License自动失效 [...]

第6章 报表附录

 1.1   报表批注 表6.1 报表批注 批注 用途 描述 colspan $ALL--全部 $CURRENT--默认 $PRXCX--某单元格 列合并 例如:colspan:2(横向合并两个单元格) colspan:$PR3C4(按照第三行第四列定义的数据数量合并) colspan:RUM(按照RUM列获得的值合并) rowspan 同上 行合并,例如同上 group-break (true/false) 按分组换页 collapse (true/false) 拆分合并的单元格,处理表头表尾设置时当前行有合并单元格。 image-layout Originalsize(始大小) autosize(默认值) 背景图片布局(默认值为:原始大小) h-group $ALL--全部 $CURRENT--默认 $PRXCX--某单元格 水平方向计算范围 v-group [...]

页面服务UIServer布署

WeX5自带页面服务UIServer的是标准Web应用,可以部署在Java Web应用服务器上。下面介绍如何在Tomcat和WebLogic中部署WeX5的UIServer. 目录 1、调试模式和生产模式 2、使用WeX5的Tomcat 3、使用自己部署的Tomcat 3.1、设置JAVA_HOME 3.2、设置JUSTEP_HOME 3.3、在Tomcat中部署UIServer 3.4、跳转到门户页 4、部署到WebLogic 4.1、设置JAVA_HOME 4.2、设置JUSTEP_HOME 4.3、在WebLogic中部署UIServer 1、调试模式和生产模式 调试模式——在WeX5的开发工具studio中,启动Tomcat,或者执行“启动WeX5运行平台(调试模式).bat”,系统运行在调试模式下,调试模式是为开发人员设计的,在修改w文件、js文件等文件后,在浏览器中刷新页面即可看到修改的效果。原因是,在调试模式下,打开w文件时,系统会自动编译该文件,从而显示出修改后的效果。 生产模式——不在studio中启动,在资源管理器中运行“启动WeX5运行平台.bat”,或者直接启动Tomcat,就是生产模式。最终部署运行时,必须使用生产模式。生产模式会使用浏览器缓存,打开页面更快捷。 2、使用WeX5的Tomcat 如果你没有部署好的Tomcat,建议直接使用WeX5带的Tomcat。用法很简单,将WeX5目录直接复制到服务器上,运行“启动WeX5运行平台.bat”即可。还可以参照下面的帖子,将Tomcat作为服务。 X5 默认带的tomcat如何做成Windows服务 http://bbs.wex5.com/thread-39754-1-1.html (出处: 起步软件技术论坛) 3、使用自己部署的Tomcat 假设 WeX5——安装在 E:\WeX5_V3.1.1 Tomcat——安装在 F:\apache-tomcat-6.0.29 3.1、设置JAVA_HOME 如果是刚安装好的Tomcat,没有配置JAVA_HOME,需要先配置JAVA_HOME。如果是能正常启动的Tomcat,跳过此步。 配置JAVA_HOME的方法是,打开F:\apache-tomcat-6.0.29\bin\startup.bat文件,增加下面的内容。 rem [...]

WeX5/BeX5 UIServer的缓存机制

页面url概述 WeX5/BeX5系统中,UIServer是提供界面展现的服务,一个页面一般对应的是.w文件。一个完整的页面url如“http://x5.justep.com:8080/x5/UI2/takeout/index.w”,其中x5是UIServer的web应用名(在tomcat的server.xml查看,可以根据需要自行修改名字),8080是tomcat的http服务端口号,UI2/takeout/index.w 则为model下面.w资源的路径。 注意:BeX5中的功能是需要授权的,通过上面那样直接输入.w地址不能正常运行(使用到bizData组件的页面不能运行),需要登录通过门户打开,原理上是登录后生成了一个bseesionID,这个做为认证依据,通过cookie和url参数传递给UIServer用于授权相关的认证。 .cache机制 虽然url中显示的是xxx.w,但请求服务器时,服务器并不是直接访问.w,而访问的是.w同级对应的.cache。 .release机制 每个.w对应一个.release,.release是一种中间格式,它的推出主要是为了应用厂商保护自己的源代码。当把一个应用发布给客户的时候,可以仅提供.release,而不用提供.w。.w和.release的使用原则是,如果有.w,则.w有效,否则使用.release。 注意:.release等价于.w,和下面介绍的资源版本号无关 浏览器缓存原理 浏览器在访问网页时,是基于url进行缓存(缓存是指静态资源,例如js、css、png等,.w平台做了特殊处理,也会缓存,这个将极大减少网络流量),如果url相同,那下次访问时直接会从本地缓存中读取。对于js、css和png等静态资源,正常使用不可避免需要有替换的情况,但如果仅仅替换,那浏览器访问是不会自动更新文件,除非自己手工清除浏览器缓存或者把浏览器设置为不缓存模式。为了解决资源更新问题,WeX5/BeX5引入了资源版本机制。 资源版本机制 如果通过网络跟踪工具查看,如果访问“http://x5.justep.com:8080/x5/UI2/takeout/index.w”,实际的url将会是 “http://x5.justep.com:8080/x5 /UI2/$v3747_no_$lzh_CN$s$dm/takeout/index.w”。$v3747_no_$lzh_CN$s$d这段就是平台基于版本维护机制自动加的路径。其中$v3747_no_ 是版本号,由系统版本和应用版本构成,具体看下面部分的资源版本号设置;$s是指皮肤,当前没有设置,所以为空;$d用来标识设备,如果是m表示移动设备,pc表示桌面电脑 资源版本号设置 1. %JUSTEP_HOME%\conf\server.xml中的version,每次WeX5/Bex5版本发布会递增,用于维护平台自身的资源版本 2. 自己应用目录下 config\application.xml中的version,应用资源改变了,需要维护这个版本 优先原则:如果应用中没有application.xml文件,将使用justep.xml中的设置。对于WeX5而言,简单起见,可以不用application.xml,直接修改%JUSTEP_HOME%\conf\server.xml,这样所有的缓存都会在页面再次访问时重新生成。 注意:修改%JUSTEP_HOME%\conf\server.xml需要重新启动tomcat .cache生成 1.  studio启动tomcat的化,资源版本号会默认为一个guid,并且每次访问.w,.release和.cache都会重新生成,可以理解为.cache失效,也就是没有缓存机制,因为浏览器每次都会下载资源 2.  在外面启动的应用服务(tomcat等),这个是生产环境实际部署的情况,当访问.w时,如果.w有对应的.cache,将直接访问.cache,否则会先生成.cache,这时读取的资源版本号会以设置的为准 项目实施 由上知道了WeX5/Bex5的缓存机制,那比较容易清楚,生产环境如果改了js、css、png和.w等资源,那需要维护资源版本并让.cache新生成,并且一定要在外面运行tomcat,否则由于缓存失效性能将大幅降低。 App本地资源打包和UIServer的关系 把资源打入到App的主要是有两个好处。一个是可以做不联网的Web应用,另外一个是不用下载资源从而提高第一次运行的速度。但如果需要资源自动更新,那就不建议直接把资源打入到App,否则需要通过本地App更新的机制来替换App。 下面举例来说明: 假设App设置的服务地址和首页指向“http://x5.justep.com:8080/x5/UI2/takeout/index.w” 方式一:没有把资源打入到App。这种模式第一次启动App的时候,会把访问到的页面缓存下来,也就是第一次会有多的请求,速度会慢些。第二次启动App,由于资源已经缓存了,那仅仅会发$.ajax这样的请求。假设takeout下的资源改了,如果没有去修改资源版本号,资源将一直不会得到更新;但如果更新了资源版本号并且重新启动tomcat,则App又会进行资源缓存,整个逻辑和浏览器相同。 方式二:假设把takeout打入进了App。第一次启动App,由于本地已经有资源(App会忽略http://x5.justep.com:8080这个服务地址,也就是不管App打包时设置为谁都忽略,先看App中有没有对应的资源,有就直接访问App的资源,否则发请求到UIServer服务段),仅仅会发$.ajax这样的请求,和方式一第一次启动App相同。假设takeout下的资源改了,并且资源版本号已经修改和重新启动了tomcat,本地App也不会进行更新,因为资源已经打入到了App,如果要更新,只能新打一个包含新资源的App进行替换 [...]

页面跳转

页面跳转可以是打开新的一页,也可以是当前页重定向,还可以是跳转到当前页的某个状态,下面会从打开w文件,打开其它后缀文件,使用路由等几个方面分别介绍一下在X5中的页面跳转。 目录 1、打开w文件 1.1、使用Shell提供的方法 1.2、使用弹出窗口打开 1.3、模拟门户的做法 2、打开html等其它类型的文件 2.1、使用打开w文件的方法 2.2、使用a链接跳转 2.3、页面重定向 2.4、使用window.open 3、使用路由 3.1、使用系统定义好的路由 3.2、自定义路由 3.3、使用静态路由 1、打开w文件 1.1、使用Shell提供的方法 使用场景:打开另一个页面不需要等待页面返回。例如:从功能树上打开功能 页面A——调用justep.Shell.showPage方法打开页面B 页面B——调用justep.Shell.closePage或this.close方法关闭自身   1、在WeX5中使用 在页面A中打开页面B Model.prototype.openBtnClick = function(event){ var url = '$UI/comp/contents.w'; justep.Shell.showPage(url); }; 在页面B中关闭自身 [...]

第5章 报表导出与打印

1.1 导出方式 报表支持三种导出方式:PDF、EXCEL、WORD。 使用方法: 在.w页面上放一个toolbars组件 在toolbars组件里放一个exportBar组件 图5.1  导出工具栏设计图 图5.2  导出工具栏运行结果图 除了使用组件也可以使用javascript调用接口: API(js): 导出pdf :justep.xbl(‘reportid’).exportPDF(); 导出word :justep.xbl(‘reportid’).exportWord(); 导出excel :justep.xbl(‘reportid’).exportExcel();  1.2  打印设置 报表的打印与预览功能,需要使用到adobe reader的浏览器插件,所以在使用前请先正确安装adobe reader。可以从Adobe官方网站或者平台提供的软件更新功能中进行下载。  图5.3  打印第三方控件下载图 要实现报表的打印、预览、页面设置功能,可以使用组件printBar。 使用方法: 在.w页面上放一个toolbars组件 在toolbars组件里放一个printBar组件 图5.4  打印工具栏设计图 图5.5  打印工具栏运行结果图 在打印设置的窗口中,可以对纸张大小、边距、方向、页眉页脚大小进行设置。 图5.6  报表页面设置示例图 除了使用组件也可以使用javascript调用导出接口: API(js): 打印:justep.xbl(‘reportid’).print(); [...]

第4章 图表示例

1.1 饼图 饼图显示一个数据集中各项的大小与各项总和的比例。饼图中的扇区显示为整个饼图的百分比。 设计饼图时要注意: 饼图只支持一个数据集。 要绘制的数据不能有负值,而且最好不要有零值。 分组类别不要过多。 饼图包括普通饼图和3D饼图。 表4.1   示例数据集: 序号 产品类别(RCATEGORYNAME) 库存成本(RSUMPRICE) 1 饮料 12480.25 2 特制品 3549.35 3 调味品 12023.55 4 点心 10392.2 5 谷类/麦片 5594.5 6 肉/家禽 5729.45 7 海鲜 13010.35 8 日用品 11271.2 [...]

第3章 报表示例

1.1 网格报表 网格报表是我们最常见的报表之一,一般情况下,网格报表会根据数据集纵向扩展,我们将这样的网格报表称之为普通的网格报表;在实际的业务需求中,横向扩展的网格报表也会经常被应用到,下面我们对这两类网格报表做一下介绍。 1.1.1  普通网格报表 设计时: 图3.1  网格报表设计图 合并单元格B2、C2、D2、E2、F2、G2、H2,输入标题名称,并居中显示 选择 B4----H5为报表区域,设置报表边框 在B4、C4、D4、E4、F4、G4、H4中输入业务字段的名称,并将背景色设置为蓝色 在B5中,输入表达式select(p1.RPRODUCTID),表示引用产品ID(RPRODUCTID)的全部数据。 在C5中,输入表达式RCATEGORYNAME,其他单元格输入的表达式与C5类似。 运行时: 图3.2  网格报表运行结果图 1.1.2  横向扩展网格报表 图3.3  横向扩展网格报表设计图 图3.4  横向扩展网格报表标题扩展属性设置图 B2输入标题名,为了使标题居中,添加批注clospan:$ALL.PR4C3+3,意思为根据第四行第三列的表达式selecth进行全列扩展, B4-B10添加表头。 C4-C10添加业务字段。 C4输入表达式selecth(p1.RPRODUCTNAME),表示引用RPRODUCTNAME的全部数据进行横向扩展。 运行时: 图3.5  横向扩展网格报表运行结果图 1.2  分组报表 1.2.1   一级分组报表 [...]