1、WebBuilder 开发手册 版权所有,保留所有权利 - 1 -WebBuilder开发手册WebBuilder 开发手册 版权所有,保留所有权利 - 2 -目 录1. 关于 WebBuilder.51.1. WebBuilder 的构成 .51.2. WebBuilder 运行的原理 .52. 系统的安装、部署和管理 62.1. WebBuilder 的安装 .62.1.1. WebBuilder 服务器的安装 .62.1.2. WebBuilder 集成开发环境的安装 .62.2. WebBuilder 与集他系统的相互集成 .72.2.1. 把其他系统集成到 WebBuilder.
2、72.2.2. 把 WebBuilder 集成到别的系统 72.3. 调试环境的构建 72.4. 系统部署和权限设置 72.5. 系统的管理 82.6. 应用系统的发布 82.7. 运行环境 93. 集成开发环境的使用 93.1. 编辑器的使用 103.2. 表单设计器的使用 104. WebBuilder 开发基础 .114.1. 开发我的第一个 Hello World 程序 .114.2. 系统的目录结构 124.3. WebBuilder 中的参数机制 .124.4. 系统的配置 134.5. 运行时变量 144.6. xwl 文件的 body 描述 .144.7. 多域运行及初始帐户
3、154.8. 系统数据库表说明 154.8.1. 用户表 WB_USER154.8.2. 计划任务表 WB_TASK154.8.3. 日志信息表 WB_LOG164.8.4. 键值对照表 WB_KEY164.8.5. 文本表 WB_TEXT164.8.6. 桌面保存信息表 WB_PORTALET165. 页面的布局和容器组件 175.1. 容器组件 175.1.1. viewPort 显示容器 175.1.2. panel 面板 175.1.3. extWindow 窗口 175.1.4. extForm 表单 .185.1.5. tab 页 185.1.6. fieldSet 字段集 185
4、.2. border 边界布局 195.3. fit 适配布局 .20WebBuilder 开发手册 版权所有,保留所有权利 - 3 -5.4. absolute 绝对位置布局 .205.5. accordion 折叠布局 .206. 数据库的访问 216.1. 查询组件 216.1.1. 返回结果集 216.1.2. 参数的使用 216.1.3. 事务 226.1.4. 跨数据库开发 226.1.5. 示例 236.2. 数据更新组件 236.2.1. 数据来源 236.2.2. SQL 语句的批运行 .246.3. 数据生成器组件 246.3.1. 生成 json 格式的数据 .246.
5、3.2. 生成图片数据 256.3.3. 生成二进制流 257. 组件的使用 257.1. 目录 257.2. 标签 267.3. 编辑框、数字框和按钮 267.4. 菜单及工具条 267.4.1. 菜单制作 267.4.2. 制作面板嵌入式菜单 277.4.3. 制作常规菜单 277.4.4. 制作内置工具条菜单 277.5. 日期和时间 277.6. 单选框和复选框 287.7. ajax 和 store 组件 287.7.1. ajax 组件 287.7.2. store 组件 .297.8. 下拉框 297.8.1. 通过预置的下拉项使用 297.8.2. 通过关联 store 的方式
6、异步引用下拉项 297.8.3. 通过关联 query 的方式同步引用下拉项 297.8.4. 类似于 google 的异步搜索提示下拉项 .297.9. 树组件 307.9.1. 同步树 307.9.2. 异步树 307.10. 表格 317.10.1. 同步表格 317.10.2. 异步表格 317.10.3. 表格列的定义 317.10.4. 可编辑表格 317.11. 组合组件 32WebBuilder 开发手册 版权所有,保留所有权利 - 4 -7.11.1. DualList 双重列表 .327.11.2. TreeList 树列表 .327.11.3. ComboTree 下拉
7、树 .327.12. 图表 327.12.1. Chart 图表容器 327.12.2. ChartContent 图表内容 .337.13. 辅助组件 337.13.1. mail 电子邮件 .347.13.2. action 动作组件 .347.13.3. excepter 异常触发器 .347.13.4. validator 验证器 347.13.5. defaultValue 默认值 347.13.6. keyMap 按键映射 .347.14. actionFile 文件组件 .357.15. html 组件的使用 .357.15.1. 直接添加 357.15.2. 通过面板的 con
8、tent 属性添加 358. 后台 Java 与前台 JavaScript 的使用 368.1. 调用后台 Java 类方法 368.1.1. Request 使用 368.1.2. Response 使用 .368.1.3. method 组件的属性 .378.1.4. 示例 378.2. 编写 JavaScript 和 HTML 脚本 378.2.1. 使用脚本组件 378.2.2. body 的 script 属性 388.2.3. 脚本的直接输出 388.2.4. 系统提供的实用 JavaScript 函数 .38WebBuilder 开发手册 版权所有,保留所有权利 - 5 -1.
9、 关于 WebBuilder WebBuilder 是一款跨平台、数据库和浏览器的 Web 可视化应用开发和部署平台。使用WebBuilder 可开发 ERP、OA、CRM、HR、MIS 以及电信、银行、政府、企业等各行业的行业应用系统,帮助信息化管理系统的快速构建。WebBuilder 帮助提高应用系统的开发效率,并降低成本。完善的基础架构,具有应用系统必须的完整功能,使系统的开发仅需致力于业务的开发。应用开发:提供可视化的 WebBuilder 集成开发环境,帮助应用系统的快速开发,支持使用 Eclipse 等开发工具的开发和调试,可以在您原有使用的技术框架上混合使用。应用部署:使用基于
10、Web 的资源管理器进行应用的部署,支持 Java,.Net,PHP 等大部分 Web 应用的部署。自定义的应用描述语言:基于 XML 的 Web 应用描述语言,屏蔽不同平台、数据库和浏览器之间的差异。完整的组件框架:提供应用开发所需的经过封装的前后台组件、开发框架以及应用模块,集成封装了大量 Ext、Dhtml 、FusionCharts、标准 HTML 和 JS 组件以及包括数据访问、流程引擎、计划任务、系统调度等框架在内的 Java 后台组件。使用 WebBuilder 可快速开发出功能强大的各种企业级应用系统,也可以基于应用系统平台做深度的二次开发。关于 WebBuilder 的更多信
11、息请访问: http:/WebBuilder 开发交流论坛请访问:http:/ 的构成WebBuilder 由基于 JEE 的 WebBuilder 服务器和基于桌面应用的集成开发环境构成。WebBuilder 服务器是运行应用系统的引擎; WebBuilder 集成开发环境是开发应用系统的工具,用于生成应用 xwl 文件。最新版本的 WebBuilder 服务器和集成开发环境请到如下网址下载:http:/ 运行的原理WebBuilder 使用集成开发环境生成应用描述文件 xwl,使用服务器来解析运行 xwl 文件。xwl 文件是基于 xml 的描述应用逻辑的文件,类似于 jsp 文件。通过使
12、用集成开发环境可视化地设计应用的前后台组件、属性、方法和事件,来构建整个应用的大部份功能和框架,可以通过编写前台 html/JavaScript 脚本和后台 java 代码来扩充业务功能的开发。xwl 文件内的组件是有先后顺序的,服务器解析 xwl 文件时,会根据组件的先后顺序来执行。比如 xwl 文件内包含 query 组件和 grid 组件,其中 grid 组件引用了 query 组件,WebBuilder 开发手册 版权所有,保留所有权利 - 6 -那么 query 组件必须在 grid 组件之前定义,可通过编辑器拖动组件来调整同一层次上组件的先后顺序。2. 系统的安装、部署和管理2.
13、1.WebBuilder 的安装2.1.1. WebBuilder 服务器的安装 安装和配置目标系统的 Java 运行环境、Web 应用服务器和数据库系统; 解压缩 WebBuilderServer.zip,并复制 META-INF、WEB-INF 和 WebBuilder 三个目录至应用服务器的应用目录,如 Tomcat6/webapps/wb; 编辑 META-INF/context.xml 配置数据库连接信息,如 MySql 可配置 wb_mysql 项,Sql Server 可配置 wb_mssql 项,Oracle 可配置 wb_oracle 项。在配置数据库连接信息之前,请确保指定
14、名称的数据库已经创建,如配置目标数据库为 wb,则名称为 wb 的数据库必须已经创建; 复制指定的数据库驱动 jar 包至应用服务器 lib 目录,如 Tomcat6/lib。MySql 复制软件包中的 attachment/mysql51.jar(适用 5.1,其他版本请自行从网上下载),Sql Server 复制软件包中的 attachment/sqljdbc4.jar(适用 2008,其他版本请自行从网上下载),Oracle 复制软件包中的 attachment/ojdbc14.jar(适用 9i,其他版本请自行从网上下载); 打开 webbuilder/system/main.xml,
15、修改 main/var/jndi 项为实际使用的 jndi,如java:comp/env/jdbc/wb_oracle,修改 main/var/dbType 项为实际使用的数据库类型,如MySql、 MsSql(MsSql 表示 Sql Server)、Oracle 等; 配置完以上所有信息后,打开数据库安装和配置程序,配置程序 URL 地址为:http:/ip:8080/wb/main?action=webbuilder/application/portal/setup.xwl,ip为 ip 地址;wb为应用目录名称,如安装在 ROOT 目录,则取消此项;如果端口为 80 可取消:8080,
16、点击 重新安装按钮,即可完成所有的安装;提示:如果安装过程中发生错误,请确认 META-INF/context.xml 和 webbuilder/system/main.xml 配置是否正确,如有必要可重启应用服务器再进行安装; 登录系统 Portal 的地址:http:/ip:8080/wb ,首次登录系统管理员用户为:用户名称system,密码 system;登录后请阅读首次使用的帮助信息: 帮助中心-帮助说明-使用系统- 开始使用系统 。 2.1.2. WebBuilder 集成开发环境的安装 解压缩 WebBuilderIDE.rar 至指定目录,并运行 setup.exe;根据提示进
17、行下一步操作,直至安装完成; 双击桌面 WebBuilder 图标打开 IDE,点击【工具】- 【选项】菜单,打开【常规】选项卡配置 Web 相关信息,在【本地目录】中配置 WebBuilder 服务器的应用根目录,如:【D: ApacheTomcat6webappswebbuilder】或WebBuilder 开发手册 版权所有,保留所有权利 - 7 -【D:ProjectwebbuilderWebContent】 ;在【服务器 URL】中配置运行 xwl 的WebBuilder 服务器 URL 地址,如: 【http:/localhost:8080/webbuilder/main】 ;【
18、Web路径变量】如无特殊情况,请勿配置此项,设置为空即可。2.2.WebBuilder 与集他系统的相互集成WebBuilder 具有比较灵活的扩展性和伸缩性,能方便地集成其他系统或集成到其他系统。2.2.1. 把其他系统集成到 WebBuilder把其他系统的相关文件,如 JSP、PHP、HTML 等文件部署到 WebBuilder 的webbuilder/application 目录,即可把别的系统无缝地集成到 WebBuilder。如其他系统带 jar包,复制这些 jar 包至 lib 目录。2.2.2. 把 WebBuilder 集成到别的系统复制 WebBuilderServer.z
19、ip 包中的 WEB-INF/lib/webbuilder2.jar 文件及其他公共 jar 文件至目标系统 lib 目录,复制 webbuilder 目录至目标系统应用目录;融合 WEB-INF/web.xml 中的配置信息至目标系统 web.xml,以及融合 META-INF/context.xml 中的配置信息至目标系统 context.xml 即可。此方法同样适用于部署使用开发工具的调试工程项目。2.3.调试环境的构建基于 WebBuilder 的调试环境可通过如下方法构建,具体的构建方式请参考开发论坛中的相关视频。 在指定开发工具如 Eclipse 中新建 web 动态项目; 把安装
20、包中的 webbuilder 目录复制到项目的应用目录; 把安装包中的 META-INF/ context.xml 中的 jndi 配置信息融合到项目的context.xml 中; 把安装包中的 WEB-INF/lib 下的 jar 文件复制到项目的 lib 目录中,把 WEB-INF/web.xml 的配置信息融合到项目的 web.xml 中即可。2.4.系统部署和权限设置开发完成的 xwl、jsp、html 等文件,可以部署在 webbuilder/application 目录。系统会自动根据配置,把所组织的模块展现到 portal 中,并控制指定模块的访问权限。使用【系统管理】-【资源管
21、理器】可以部署用户开发的应用系统。在【资源管理器】中可以设置应用的指定目录或文件在 portal 中的显示样式以及角色权限等属性。系统默认带了一些应用模块功能,如果不需要这些模块,可以在资源管理器中设置隐WebBuilder 开发手册 版权所有,保留所有权利 - 8 -藏或直接删除。建议保留【管理工具】和【系统管理】两大模块。资源管理器中模块的设置在【资源管理器中】配置应用模块的属性时,先选择需要配置的目录或文件,然后点击属性进行设置。当需要移去指定的目录或文件时,可选择【在列表中隐藏】选项或直接删除目录或文件。当需要对目录或文件排序时,可选择属性下拉菜单【排序】 。在排序对话框中,可拖动选
22、择的模块来设置排序。当配置指定目录或文件的角色属性时,设置的目录或文件将只允许选择的角色的用户访问。设置目录的权限具有继承性,父目录设置的角色权限将自动赋予所有子目录和文件。角色名称为“管理员”的角色必须保留,其他角色可自行配置或更名。管理员及管理员所属的角色不允许通过【用户管理】来设置角色,管理员用户操作该模块除外。2.5.系统的管理系统默认提供了应用系统的一些管理功能,这些功能包括管理工具及系统管理功能。管理工具包括:登录用户管理、部门组织、角色管理和模块管理,管理工具的功能适用于所有域。系统管理包括:资源管理器、数据库浏览器、系统日志、系统设置、系统任务等功能。系统管理功能只有系统域用户
23、的管理员才有权限访问。在【资源管理器】中可组织开发的应用模块的架构及权限。通过【管理工具】-【模块管理】也可设置权限。两者的区别在于前者是组织所有域原始默认的应用架构和权限,后者是在当前域对默认设置的补充。新开发的模块必须先在【资源管理器】中进行设置。2.6.应用系统的发布使用 WebBuilder 开发的应用是一个标准的 JEE Web 应用。应用的发布可直接把开发的应用目录下的所有子目录和文件复制到目标系统应用目录,也可以打成 WAR 包的格式部署到目标系统。如果需要 WebBuilder 安装用户定义的数据库表,请按照如下步骤操作:WebBuilder 开发手册 版权所有,保留所有权利
24、 - 9 - 配置 webbuilder/data/init 目录下的指定数据库类型脚本文件,比如 oracle 类型编辑名称为 oracle.txt 的脚本文件;mysql 类型编辑名称为 mysql.txt 的脚本文件;sql server 类型编辑名称为 mssql.txt 的脚本文件。 如果需要导入静态表数据,把文件名称为表名且扩展名为 dat 的 utf-8 格式的文本文件或扩展名为 xls 的 Excel 文件复制至 webbuilder/data/init; 复制安装包中的如下 3 个文件至 webbuilder/application/portal 目录。webbuilder/
25、application/portal/setup.xwlwebbuilder/application/portal/installSystem.xwl、webbuilder/application/portal/updateSystem.xwl该 3 个文件用于首次系统的安装,安装完成之后系统会自动删除这 3 个文件,以禁止未授权的访问。 压缩应用目录下的所有子目录和文件为 zip 格式的文件,即可制成应用包。该应用包可通过 webbuilder【系统管理】-【系统安装升级】模块安装或升级。2.7.运行环境操作系统:Windows,Linux,Unix,Apple;JEE 环境:JDK 6.0
26、 以上;Web 服务器:Tomcat,Resin,WebLogic,WebSphere,BES 等大部份服务器;浏览器:IE,Firefox,Safari ,Opera,Chrome 等;数据库:Oracle,MySql,DB2,MS SQL ,Sybase,Teradata,JavaDB ,PostgreSQL 等;内存:最小 32MB,推荐大于 64MB;存储空间:程序占用空间小于 100MB,数据库空间根据数据规模大小而定。3. 集成开发环境的使用WebBuilder 集成开发环境是开发 WebBuilder 应用模块 xwl 文件的工具,由工具及菜单区、功能面板区和设计及开发区构成。系
27、统采用动态可扩展的插件技术来配置系统,可通过 xml 文件的配置来改变集成开发环境的功能。WebBuilder 开发手册 版权所有,保留所有权利 - 10 -3.1.编辑器的使用编辑器是设计 xwl 文件的工具,通过配置属性和事件来描述应用功能。编辑器的左侧视图为组件树,以树状结构的形式来展现 xwl 文件内的所有组件。右侧的属性和事件编辑器显示当前选择的组件的属性和事件。xwl 文件编辑器在左侧组件树中,可复制、剪切和粘贴所选择的组件,也可在同一层级的组件之间相互拖动。点击组件库中的组件,能在当前选择的组件下创建新的指定组件,如需创建同一层级的组件,可通过按 CTRL 键+点击需添加的组件
28、来实现。xwl 文件的编辑可通过【文件】-【打开】菜单选择指定的文件来打开,或直接双击左侧的文件列表来实现。WebBuilder 开发手册 版权所有,保留所有权利 - 11 -3.2.表单设计器的使用表单设计器是设计容器组件内的组件绝对坐标位置的工具。当容器的布局为绝对位置布局时,表单设计器设计的组件位置才有效。当容器未显式指定 layout 布局属性时,启用表单设计器将自动设置该容器的 layout 属性为 absolute。表单设计器仅适用于指定的容器为 absolute 布局,否则设计的布局将无效。表单设计器表单设计器的打开,可通过选择指定的容器组件,点击工具条上的表单设计器或点击右键
29、选择表单设计器来实现。提示:在使用表单设计器设计时,界面元素之间可适当间隔,避免过于紧凑。这样的设计,一方面保持了界面的美观,另外也屏蔽了不同浏览器之间的细微差异。4. WebBuilder 开发基础4.1.开发我的第一个 Hello World 程序打开 WebBuilder 集成开发环境,点击新建按钮,新建一个 xwl 文件。点击组件箱中的【常用】-【窗口】组件,并设置窗口组件的属性:caption:Hellow World,autoShow:true点击保存按钮,保存该 xwl 文件至 webbuilder/application/mytest/helloWorld.xwl,点击运行按钮
30、,运行该 xwl 文件。WebBuilder 开发手册 版权所有,保留所有权利 - 12 -4.2.系统的目录结构WebBuilder 目录是一个标准的 JEE Web 应用目录,其结构如下:META-INF 目录 :配置元数据信息的目录,主要包含 context.xml 文件,可用于配置数据库 jndi 连接信息。webbuilder 目录:webbuilder 应用的主目录。 application:部署 xwl 应用文件的目录,系统会自动把部署在该目录下的目录和文件显示在 portal 中。 controls:组件库目录,包括 ext 组件、fc 组件、dhtml 组件等。 css:样
31、式表目录,在 wbstyle.css 文件中定义了一些常用的样式,包括字体、图标和链接的样式等。如需扩充样式,比如添加图标等,可编辑该文件。 data:应用的数据目录,存放数据库表的初始化数据和 sql 脚本等。 download:存放供下载的文件目录。 image:存放图像文件的目录。 script:存放脚本文件的目录,在 wbutil.js 文件中定义了一些常用的 javaScript 函数,可在该文件中添加新的 javaScript 函数。WebBuilder 开发手册 版权所有,保留所有权利 - 13 - system:存放系统运行所需的 xwl 文件以及配置设置文件。在 main.
32、xml 文件中定义了系统运行的参数及变量,可在此文件中添加用户自定义的变量。WEB-INF 目录:存放 web 相关的文件,主要包含 lib 文件和 class 文件。用户开发的 jar 包可放置在 lib 子目录。4.3.WebBuilder 中的参数机制WebBuilder 中的参数分为两种,包括外部参数和内部参数。外部参数:外部参数存储于 HttpServletRequest 对象的 Parameters 中,可通过HttpServletRequest 的 getParameter 方法获取。内部参数:内部参数存储于 HttpServletRequest 对象的 Attributes 中
33、,内部参数可通过HttpServletRequest 的 getAttribute 方法获取。在 WebBuilder 的 xwl 文件的任何位置,包括任何属性和事件中,可通过两种方式方便地引用参数,这两种方式分别为无条件替换引用和 jdbc sql 参数引用:无条件替换引用:该方式使用大括号加井号的方式来引用参数,系统会自动无条件替换名称所指的参数。如设置 panel 的 caption 属性为:【条件设置 #para#】 ,系统首先会在内部参数中查找名称为 para 的参数,如未找到,则在外部参数中查找名称为 para 的参数,如仍未找到则返回空,如找到名称 para 所指的参数值为“ a
34、bc“,则替换#para#为 abc,最终结果为【条件设置 abc】 。jdbc sql 参数引用:该方式使用大括号加问号的方式来引用参数,该引用方式仅适用于 sql 语句。如设置 query 的 sql 语句为:【select * from table where field=?para?】 ,系统首先会在内部参数中查找名称为 para 的参数,如未找到,则在外部参数中查找名称为 para的参数,如仍未找到则返回空,如找到名称 para 所指的参数值为 “abc“,则把?para?转换为 sql 参数并设置值为 abc。如果 para 为非字符串类型的参数,可通过在参数名称前加前缀的方式来转
35、换参数的类型,常用的类型有:整数:?integer.para?,表示转换为整数;双精度浮点数:?double.para? ,表示转换为双精度浮点数;日期时间:?timestamp.para? ,表示转换为日期时间;文本:?charstream.para?,表示转换为文本流;二进制:?blob.param?,表示转换为二进制。更多信息请参考数据库访问组件中 sql 的使用。4.4.系统的配置WebBuilder 服务器运行的重要参数配置保存在 webbuilder/system/main.xml 文件中。系统运行时会自动把这些变量存储为内部参数,存储方法是变量名称前加前缀“sys.” 。如tit
36、le 变量的值为“abc” ,则内部参数“#sys.title# ”为“ abc”。注意引用时在变量名称前加“sys.” 。系统预定义的一些变量说明如下: title:表示应用的标题; version:应用的当前版本号; portal:系统默认的入口模块 URL 地址;WebBuilder 开发手册 版权所有,保留所有权利 - 14 - needLogin:指定系统默认是否需要登录,各个模块可以单独设定是否登录; needRole:指定系统是否需要按角色验证当前用户对各个模块是否具有访问权限; recordSession:是否记录所有用户的在线状态; exceptionType:指定系统默认
37、的异常类型,各个模块可以单独设定异常类型,设置为system 表明使用系统的异常提示; logType:指定系统默认记录日志的类型,各个模块可以单独设定,设置为 none 表明不记录日志; startTask:是否在应用启动时自动启动计划任务,使用此设置可在集群模式下停止自动运行冗余的计划任务; loginVerify:登录时是否需要输入验证码; runMode:系统运行模式,可为 open,normal 和 debug,分别表示开放,标准和调试模式; sessionTimeout:用户需要重新登录的不活动时长,单位为秒; ajaxTimeout:默认进行 ajax 操作时的等待时长,单位为毫
38、秒,大数据量操作的时间溢出系统将自动进行判断; jndi:默认采用的 jndi; dbType:系统默认使用的数据库类型,如 Oracle, MySql, MsSql, DB2, Sybase, Teradata, JavaDB, PostgreSQL 或其它指定的类型等; fieldSeparator:指定导入或导出的文本文件,字段之间的分隔符,如“Tab” 、 “,”、 “ ”、“-”等; longDateFormat:导出文件时,包含时间的日期输出格式,如 yyyy-MM-dd HH:mm:ss; shortDateFormat:导出文件时,不包含时间或时间部分为零的日期输出格式,如 y
39、yyy-MM-dd; webFile:指定需要解析为 web 文件的文件扩展名列表,否则将视为下载对象; pagedRecords:指表格中分页显示数据时,允许分页的的最多记录数; bufferSize:处理 upload 文件时,默认的缓存大小,单位为字节; charset:字符使用的编码,默认为根据操作系统。注:系统内部均采用 utf-8 编码,字符编码仅作用于系统外部,比如导出至文本文件时的字符编码。 fileCharset:输出文件名使用的编码,默认为根据操作系统。 dbCharset:数据库系统采用的编码,默认为根据操作系统。用户可在 main.xml 中配置自定义的变量,在引用时通
40、过加前缀“sys.”即可访问。比如定义了变量 myJndi,值为 “java:comp/env/jdbc/myjndi”,在 query 的 jndi 属性中设置为#sys.myJndi#即可引用。4.5.运行时变量系统运行时的变量是系统运行期间自动生成的变量,通过读取这些变量的值,能方便系统的开发。这些运行时的变量存储在系统的内部变量当中。运行时变量包括以下一些常用的变量:sys.path:web 应用的根目录地址;sys.ip:当前请求的客户端 ip 地址;sys.now:当前请求的日期和时间,包括时间部分;sys.nowdate:当前请求的日期,未包括时间部分;WebBuilder 开发
41、手册 版权所有,保留所有权利 - 15 -sys.user:当前请求用户的用户名称;sys.role:当前请求用户的角色;sys.scope:当前请求用户的域名称;sys.realname:当前请求用户的姓名;sys.code:当前请求用户的编号;sys.lastaccess:当前请求用户的上次登录时间;sys.rootpath:当前用户的私有文件空间根目录;sys.runmode:当前系统的运行模式。4.6.xwl 文件的 body 描述每个 xwl 文件都具有一个默认的根节点 body,body 是对 xwl 文件的整体信息的描述。当 xwl 文件作为前台页面文件时 body 可以对页面
42、的文档体进行描述,比如引用指定的js 文件、 css 文件,创建页面的框架 html 脚本,声明全局的 js 变量和函数等。另外,也可设置 body 其他一些属性来设置 xwl 的行为,比如是否需要登录,是否需要记录日志,初始化时执行的方法,发生异常时执行的方法等。系统默认 xwl 文件的 body 是自动创建的,当指定的 xwl 文件不需要生成 body 时,可以设置 createBody 属性为 false。此种情况往往用于 xwl 文件返回 json、xml 、图片或纯文本的内容。比如 xwl 需要返回 json:para1:123,para2:abc,系统默认是创建 body 的,返回
43、的内容可能包含 html 的 body 信息,为了返回纯 json 脚本,必须设置 createBody 属性为false。如果 xwl 文件为页面文件,可在 headerScript 属性中定义全局的函数和变量,在extLastScript 属性中定义页面加载完成之后执行的 JavaScript 脚本。4.7.多域运行及初始帐户域是指独立运行的空间,webbuilder 支持多域运行。在同一系统中,不同的域可以设置不同的权限体系、角色设置和组织架构等。多域为不同空间的用户群在同一系统内的独立运行创造了条件,比如可以为多个不同的单位用户群在同一系统中运行。系统默认创建了 3 个域,包括系统域
44、system、测试域 test 和设置域 webbuilder。系统域所在的管理员具有最多的权限,用户开发的应用系统可在 system 域内进行组织。webbuilder 域中的一些设置将影响所有域用户的一些默认设置,比如可以通过 webbuilder用户登录来修改默认的 portal 界面。系统域内包括用户 system,默认密码为 system。webbuilder 域内包括用户webbuilder,默认密码为 webbuilder。test 域内包括用户 test,默认密码为空,以及其他多个用户。系统默认禁止除 system 域以外的域用户的运行,如需允许所有域用户的运行可设置【系统管理
45、】-【运行模式】为开放模式。4.8.系统数据库表说明WebBuilder 自带了一些系统运行所需的数据库表,这些表用于存放用户信息、日志信WebBuilder 开发手册 版权所有,保留所有权利 - 16 -息、系统任务等重要信息。这些表的结构说明如下:4.8.1. 用户表 WB_USER存放用户的相关信息。该表包括如下一些重要字段:USERNAME:用户名称,用于登录的用户名称;PASSWORD:登录密码,密码经过加密处理;ROLENAME:设置的角色信息,包含一个或多个角色;SCOPE:指定用户属于哪个域;CODE:编号信息。4.8.2. 计划任务表 WB_TASK系统提供计划任务功能,可
46、通过【系统管理】-【系统任务】来添加和管理计划任务。该表字段信息描述如下:TASK_NAME:计划任务名称;INTERVAL_TYPE:周期类型;INTERVAL_EXPRESS:周期表达式;START_DATE:起始时间;END_DATE:结果时间;CLASS_NAME:运行的任务类名称;STATUS:任务状态;DESCRIPTION:任务描述信息。4.8.3. 日志信息表 WB_LOG日志信息用于存放自动记录的系统运行日志。该表字段信息描述如下:LOG_DATE:日志信息记录日期;USERNAME:当前登录用户名称信息;IP:当前登录用户 IP 地址;MSG:日志信息;LOG_TYPE:日
47、志类型。4.8.4. 键值对照表 WB_KEY键值对照表用于配置键值的对照信息,该对照信息可用于某些组件的键值字动转换。比如配置 1-男,2-女的性别信息,可直接用于下拉框、列转义或统计分析转义。该表字段信息描述如下:KEY_TYPE:键值对的类型名称;KEY_ID:编号信息;KEY_TEXT:编号对应的值信息WebBuilder 开发手册 版权所有,保留所有权利 - 17 -4.8.5. 文本表 WB_TEXT文本表用于存储指定域特定类别的文本信息,系统把一些以特定文本组织的数据存储于该表中。比如部署组织结构文本、角色组织结构文本、系统的公告文本等均存储于该表中。该表字段信息描述如下:SCOPE:域名称;KEY_NAME:存储文本的名称标识;KEY_VALUE:存储文本的内容。4.8.6. 桌