




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Dorado5 开发手册 1 Dorado 5 快速入门快速入门 富浏览器展现中间件富浏览器展现中间件 快速创建快速创建 Rich Internet Application 的表现层解决方案的表现层解决方案 Dorado5 开发手册 2 1 前言前言 4 2 简介简介 5 3 STUDIO 6 3 1 使用说明 6 3 2 工程管理 17 3 2 1 工程管理 17 3 2 2 系统菜单 17 4 一个简单的一个简单的 DORADO 应用界面应用界面 17 4 1 视图模型简介 17 4 2 创建DORADO应用 20 4 2 1 新建工程 20 4 2 2 数据连接配置 22 4 2 3 制作dorado JSP 23 5 常用组件应用技巧常用组件应用技巧 32 5 1 自由表单 AUTOFORM 32 5 2 数据表格 DATATABLE 36 5 3 菜单 MENU 53 5 4 树 TREE 53 5 5 下拉框 DROPDOWN 53 5 6 命令 COMMAND 53 6 视图模型视图模型 53 6 1 视图模型的状态 53 6 2 视图模型实现类 55 6 3 视图模型的上下文 DORADOCONTEXT 56 6 4 视图模型中的 JDBC 开发 58 6 4 1 事务管理 59 6 4 2 异常处理 60 7 业务逻辑框架整合范例业务逻辑框架整合范例 60 7 1 SQLDATASET 60 7 1 1 预定义Sql编程 61 7 1 2 实现预定义Sql编程的动态性 62 7 1 3 运行时Sql编程 63 7 2 存储过程 64 7 3 JAVA 实体对象 65 7 3 1 记录集的监听器内部实现 65 7 3 2 系统的业务对象实现 66 7 3 3 通过引入第三方框架管理与组织自己业务对象的基础之上实现 如加入Spring Hibernate 68 8 数据坞数据坞 70 8 1 数据模块中的 DATASET 70 9 典型界面开发典型界面开发 82 Dorado5 开发手册 3 10 权限管理和权限管理和 PROFILE 82 10 1 PROFILE使用说明 82 10 2 PROFILE文件的定义 86 10 3 视图模型 VIEWMODEL PROFILE的指定 86 11 文件或文件或 BLOB 字段的处理字段的处理 87 12 发布发布 87 12 1 基本原理 87 12 2 发布方法 89 12 2 1 dorado studio打包 89 12 2 2 其他工具打包 90 13 升级升级 90 14 附录附录 92 14 1 参考程序光盘说明 92 14 2 数据库配置说明 92 Dorado5 开发手册 4 1 前言前言 dorado 是由 BSTEK 公司推出的面向 J2EE 的新一代 Web 应用的开发框架 支持 AJAX 机制 全书以企业级应用体系结构为框架 以 dorado 5 最新与最基础的功能为线索 结合软 件工程理论和项目管理经验 深入浅出地探讨了 dorado 5 开发的思想 策略及技术要点 并 通过大量实例的剖析 较全面而细致地介绍了如何使用 dorado 实现真正意义上的企业级应用 开发 本手册属于 dorado 的入门级技术资料 技术要求 利用利用 dorado 开发的基本技术要求开发的基本技术要求技术技术 普通功能 包括数据 存储 复合查询 复杂功能 包括页面 流转 业务逻辑 核心功能 包括业务 核心 框架整合 JSP低中高 DataBase Sql低中高 Web Server低低中 DHTML无中中 JavaScript无中中 Java无低中 XML无无低 MVC无无中 进一步阅读 除特别注明的参考文献之外 本书的各个章节的编写还使用了以下的参考文献 可供读者进 一步的阅读 dorado 5 开发手册 dorado 5 参考手册 精通 Struts 基于 MVC 的 Java Web 设计与开发 电子工业出版社 孙卫琴 著 精通从 JavaScript 到 JSP 的范例程序设计 中国青年出版社 沈建南 著 Ajax 开发精要 概念 案例与框架 电子工业出版社 柯自聪 著 Java 与模式 电子工业出版社 阎宏 著 这些书籍都可以作为读者进一步阅读的方向 除了这些书籍之外 本书还向读者推荐以下 的这些技术网站 Dorado5 开发手册 5 2 简介简介 dorado 全称为 BSTEK DORADO Browser Rich Presentation Middleware 锐道快 鱼富浏览器展现中间件 dorado 由上海锐道信息技术有限公司 Shanghai BSTEK Information Technology Co Ltd 研发 官方网站为 dorado 是新一代 web 应用的引擎平台 有效增进 Web 应用的用户体验 降低了开发 Web 应用的复杂性 从而大幅提升开发效率 提高 Web 应用的性价比 基于 dorado 可以 快速创建 Rich Internet Application 与 AJAX 机制的应用 使 B S 应用保留 C S 应用的优 势 dorado 填补了 J2EE 架构中表述业务交互的架构空白 以标准化自动化的作业方式 低 成本 快速实现业务交互层 包括用户界面 人机交互 界面与后台交互等 的用户需求 快 速响应需求变化 可用性对于应用软件系统不是一个可有可无的特性 可用性与应用软件系统的实际效率与 效益密切相关 用户体验是可用性的一个重要指标 用户倾向于接受更好的用户体验 不愿轻 易放弃 并以之为基准 要求后续接触到的应用软件系统达到同等水平 用户一般将可用性认 同为产品品质与用户关怀的外在表征 应用软件系统的发展过程也告诉我们 可用性是优秀应 用软件系统的必然组成部分 dorado 提高了 Web 应用的可用性 将过去一些不可能的用户 体验变为可能 显著提高了 Web 应用的适用范围 带来更大想象空间 应用软件系统的成本主要是由于开发复杂性造成的 dorado 通过将可重用的手工代码剥 离形成产品 降低了开发的复杂性 因而直接降低了开发成本 dorado 基于 Java XML DHTML XML 等标准信息技术构建 通过 富浏览器 机制提 高 Web 用户界面的信息承载量 表现力与操作性 在浏览器中实现了类似 C S 应用的界面风 格和操作习惯 通过 展现中间件 机制提高对业务交互层的表述能力 由传统上人工代码为主 的手工编程晋升为以配置为主的自动化编程 提供以视图模型为核心的展现层 MVC 框架 数 十种展现层统一构件 这些构件都有一组预定义的属性事件 由展现引擎驱动并统一管理 dorado 与数据库和应用中间件 流程中间件相配合 广泛应用于各类软件系统中 特别 是管理信息类系统 dorado 可以广泛结合第三方流程引擎 形成数据库 应用中间件 后台 框架 dorado 多层架构以实现复杂需求 也可以形成数据库 应用中间件 dorado 的三层架 构 以快速实现数据增查改删类需求 dorado 5 版本提供更加丰富的表现层统一构件 更大数据量更复杂界面的支持能力 更 具亲和力的操作体验 支持更多的开源框架与商业产品 支持 AJAX 机制 Dorado5 开发手册 6 3 Studio 当你下载了 dorado 的开发包之后 解压缩到一个非中文名的目录下 运行其中的 setup bat 该程序会自动安装并初始化 Studio 运行环境 之后会打开一个可视化的 Studio 集成开发环境 这个 IDE 环境可以帮助你快速的搭建 dorado 应用 开发 设计以及测试等 工作 节约你的开发时间 需要注意的是 dorado Studio 本身主要的工作是配置 dorado 的框架 内部集成了一些打 包与 web 服务功能 便于开发使用 实际上一个大型项目的开发我们还是要借助标准的工程 管理软件来完成 如 JBuilder Eclipse Clearcase CVS 等 详细内容可以参考 dorado 5 开发手册 dorado Studio 主要包括的功能有 工程管理 工程结构树形展示 提供设计期数据库联接向导 提供设计期数据库 Sql 向导生成器 组件列表 在设计期提供用户各种组件实现应用开发 Web 应用的编译打包功能 Web 服务器集成 可以直接调试运行 3 1 使用说明使用说明 窗口布局 Dorado5 开发手册 7 着色说明 在对 Studio 的属性窗口中 经常可以看到属性编辑器被不同的颜色加以标识 如下图 Dorado5 开发手册 8 这些颜色都是有特殊含义的 说明列表 颜色颜色说明说明 红色非空 用于 ID Name 等属性 黄色非空类型属性 必须设置 绿色常规须设置的属性 白色可编辑 灰色不可编辑 代码模板 在开发中对于一些常用代码 Studio 通过 X Insert 提供代码模板功能 分别有 JavaScript X Insert Java X Insert Jsp X Insert 模板代码的使用非常方便 我们只要在 X Insert 窗口中双击自己需要的 Item 即可自 动产生下图中代码 其中很多的模板代码都是对 dorado 中特殊对象进行操作或则获取特殊对 象专门提供的 这样开发人员就不用记忆很多的内容 利用模板代码自动快速的开发 Dorado5 开发手册 9 X Insert 使用效果图使用效果图 这些模板代码主要是为 dorado 对象专门设计的 对于高级开发人员来说可以选择自定以 扩展这几个模板文件或则将这些模板代码转移到自己的 Java 开发工具 JBuilder Eclipse 等 中实现 参考 dorado 5 开发手册 各种模板中包含的内容说明列表 1 JSP X Insert 大部分都是生成 dorado 的标签或则组件对象 详细内容参考 JSP Taglib 2 Java X Insert dorado Dataset X Insert 名称名称说明说明 RecordIterator记录集记录迭代子循环模板 Switch RecordState提供记录状态判断的 Switch 模板语句 区分 记录的不同状态 用于处理记录的新增 修改 删除等不同的业务处理 dorado Misc X Insert 名称名称说明说明 Get Connection Transaction 通过 dorado 获得 DataSource 中配置的数 据源连接 该连接支持 dorado 全局事物管理 Get Connection通过 dorado 获得 DataSource 中配置的数 Dorado5 开发手册 10 据源连接 事物的管理要交给开发人员完成 Get DoradoContext获取 DoradoContext 上下文环境 Add Message给 dorado 的 MessageHelper 对象添加提示 消息 一般用于客户端命令请求后 Server 提供提示信息给客户端 3 JavaScript X Insert X Insert 名称名称说明说明 Dataset Loop产生循环 Dataset 记录集的 JS 代码 Dataset Loop Fast 产生快速循环 Dataset 记录集的 JS 代码 该 方法使用 disableControls 禁止记录集绑定 机制 从而提高循环速度 Dataset Loop Restore Current 产生快速循环 Dataset 记录集的 JS 代码 并 回复记录集的光标定位为循环初始时的记录位 置 Record Loop直接对记录集包含的记录对象循环 屏蔽记录 集所有的绑定以及事件触发机制 集成工具 1 Sql Query Pad dorado 提供的简易数据库访问工具 系统菜单 Tool 下 利用该工具我们可以很方便的对 数据库进行一些预览性的查询或者 sql 语句合法的验证等操作 该工具打开时开发人员可以选 择已经在当前工程中已经配置好的各种 DataSource 系统会自动列出这些数据源中的各种表 格以及表格对应的字段信息等 Dorado5 开发手册 11 2 Tomcat 集成 dorado 5 中默认集成了 Tomcat 5 5 17 方便开发人员开发调试 利用集成到 Studio 中的 Tomcat 开发人员作系统调试与页面调整时更为非常方便 Tomcat 启动与停止的方式 Dorado5 开发手册 12 启动 tomcat 之后 可以在日志输出的控制台中看到如下的信息 其中 dorado 输出的一 段尤其需要注意 dorado Starting Service dorado Using JDOM 0 9 as XML Processor dorado Configure loader mon fileloader PathFileLoader dorado Configure root D java dorado dorado5 BETA sample home dorado Source loader mon fileloader PathFileLoader dorado Source root D java dorado dorado5 BETA sample src dorado Loading setting xml dorado Initializing Logger dorado 11 28 44 640 INFO Initializing Performance Moniter dorado 11 28 44 750 INFO Loading user config xml dorado 11 28 44 781 INFO Loading mapping global map xml dorado 11 28 44 984 INFO Loading mapping dorado map xml dorado 11 28 45 093 INFO Loading mapping sample map xml dorado 11 28 45 109 INFO Initializing Velocity Service 启动集成的 tomcat 停止集成的 tomcat Dorado5 开发手册 13 dorado 11 28 45 703 INFO Initializing Connection Pool dorado 11 28 45 781 INFO Testing Connection doradosample dorado 11 28 47 062 INFO Testing Connection mysql dorado 11 28 48 765 INFO Initializing Module Manager dorado Service Started dorado Version dorado 5 0 BETA 060626 0317 Unregistered 如果在 Start Service 与 Service Started 之间没有发生任何错误 就表示工程中的 dorado 配置加载已经完成 Ant 工具集成 dorado 内部包含了 ant 工具 可以帮助我们编译工程并自动打包已经开发好的项目 多视图 Studio 中很多 XML 配置文件都采用了可视化配置功能 利用属性窗口的方式让开发人员 一目了然和快速的设定这些属性 如下的一个视图模型的配置文件 在 dorado 中我们可以使用几种不同的视图察看 视图模型对象属性窗口 集成 Ant 单 击执行编译 打包 Dorado5 开发手册 14 视图模型的事件列表窗口 Dorado5 开发手册 15 视图模型源码视图 Dorado5 开发手册 16 以上三个视图是使用不同的方式查看同一个 XML 配置文件 所作的修改最终也会更新这 个 xml 文件中 开发人员可以选择一个对象在不同的事件中编写不同 快捷键操作支持 很特殊的欧 Sutdio 中提供了大量的快捷键支持 协助开发人员加快项目开发进度 其中部分快捷键对 开发人员比较重要 功能功能说明说明 Copy Paste利用 ctrl c ctrl v 可以拷贝 XML 对象 如多 个 Dataset 或则 Control 对象到其他的视图 模型或数据模块中 View 中 Controls 中对象直接拷贝到 jsp 中 Studio 自动翻译为相关的标签代码 Shift 支持 shifth 多选不同的 xml 对象 进行合并编 辑的快捷操作 F1调用系统帮助热键调用帮助文件 选择 Properties Inspector 视图时 打开的 是当前用户选中节点对象的 Server API 选择 Events Inspector 视图时 打开的是当 前用户选中节点对象的 Client API Dorado5 开发手册 17 Ctrl S保存工作区中当前被编辑的页面 菜单 3 2 工程管理工程管理 3 2 1 工程管理工程管理 事件查看器 Mapping 管理 DataSource 配置 日志设定 3 2 2 系统菜单系统菜单 4 一个简单的一个简单的 dorado 应用应用界面界面 本章通过一个范例带领开发人员了解与学些 dorado 作为一个入门范例 在该范例中我们 可以很清晰的看出 dorado 系统开发的方式与系统特征 数据绑定 基于事件的开发机制 客户端的 MVC 机制 页面布局与页面逻辑的分离 AJAX 数据请求 dorado jsp 一般都会在代码中包含一段代码 这儿用以申明对一个视图模型的引用 4 1 视图模型简介视图模型简介 ViewModel 是一种用于封装界面逻辑和操作逻辑的对象 即视图中包含哪些数据 这些 数据以什么方式展现 视图中包含哪些控件 这些控件会激发什么操作等等 ViewModel 一 般不用于定义各种控件最终在显示的布局 控件布局应通过其它方式进行定义 例如 JSP ViewModel 不会在服务端进行缓存 我们也可以把 ViewModel 看做是服务端跟客户端 进行信息交换的接口 当用户执行页面请求 局部数据刷新 远程方法调用等操作时服务端都 Dorado5 开发手册 18 会创建相应的 ViewModel 实例 我们可以通过其 state 属性来判断当前 ViewModel 在何种 情况下被创建 state 有下列几种取值 ViewModel STATE VIEW 打开视图状态 即用户请求一个新的视图时的状态 在 此状态下 ViewModel 在创建时会自动创建所有已声明的 Dataset 并自动根据每个 Dataset 的配置来装载数据 所有的控件 Control 将以懒装载的方式被创建 ViewModel STATE SERVICE 服务状态 当一个已打开的视图在执行局部数据刷 新 远程方法调用等操作时的状态 在此状态下 ViewModel 中所有的 Dataset 和控 件 Control 将以懒装载的方式被创建 ViewModel STATE DESIGN 设计时状态 该状态只有在为 dorado studio 提供 服务时有效 每一个 ViewModel 都可以有自己的命名空间 因此只要具有不同的命名空间我们就可以 在同一个视图中使用同一个 ViewModel 的多个实例 在多数情况下我们建议使用 ViewModel 的实现类来作为后台业务逻辑的调用接口 视图模型是 dorado 开发中不可或缺的一个对象 几乎每一个 dorado 的 JSP 都会对应一 个视图模型 常规情况下视图模型是一个 xml 配置文件 我们看几种常规的 JSP JSP JavaBean JSP TagLib Action Snps jsp body background image url bean message bundle key img home bg pg blue gif 此处省略此处省略 Dorado5 开发手册 19 此处省略此处省略 body onLoad alert Brief Results Of SNP Database input type hidden name currentPage value input type hidden name pageSize value SNP ID SNP Name Chromosome Gene Location Dorado5 开发手册 20 Disease 此处省略此处省略 其实以上两种模式中 我们依然可以在 jsp 中看到三种类型的代码 Java Code JavaScript Code HTML 标签 包括 Tag 这样一个 JSP 中就包含了页面逻辑代码与页面布局代码 HTML 在 dorado 中通过引入视图模型实现页面逻辑代码与页面布局的分离 JSP 负责页面布局 不包含页面逻辑代码 视图模型中加入页面逻辑控制代码 但是不处理页面布局 当然以上的分离并不是绝对的 开发人员依然可以在 JSP 中加入逻辑代码 虽然我们不建 议这么做 或则在视图模型中利用 dorado 提供的一些页面布局组件实现动态页面布局的功 能 我们再看看 dorado 的 JSP 4 2 创建创建 dorado 应用应用 用 dorado 新建并配置项目一个项目 并在实现一个简单的表现和存储功能 体会一下它 快速开发和强大的扩展性 4 2 1 新建工程新建工程 点击 File 菜单 然后选择 Create a New Project 如下图 Dorado5 开发手册 21 输入 helloworld 然后作如图配置 选择 Create New Project Dorado5 开发手册 22 4 2 2 数据连接数据连接配置配置 添加数据库连接配置 该配置文件直接从 dorado 安装目录拷贝 sample home datasource xml 到当前工程 的 helloworld home 目录下 覆盖 datasource xml 文件配置 重新刷新工程 再打开 datasource xml 文件 如图所示 系统自动识别出 datasource xml 已经配置好的 doradosample 数据源 如果是其他类型的数据库配置参考附注的数据库配置说明 由于我们使用的演示数据库是 hsql 数据库 所以需要加入 hsql 的 jdbc 驱动到我们的项 目下面 Dorado5 开发手册 23 右键单击左侧 project 树中 WEB INF 选择 Explorer 如下图所示 这时 dorado 会打开你 WEB INF 文件夹 其中会有名为 lib 的文件夹 将 dorado 开发 包中 sample web WEB INF lib 下面的 hsql jar 然后放入 helloworld 文件夹的 web web inf lib 下 4 2 3 制作制作 dorado JSP 新建项目后 我们接下来通过一个可以交互 更新数据的例子 详细叙述 dorado 的开发 流程 配置 helloworld 的工程配置文件 setting xml Dorado5 开发手册 24 1 新建一个视图模型 View Model 启动 dorado 自带的 tomcat 将可以应用自动生成等高级功能 右键点击 source 选择 new 然后选择 View 项 如下图所示 启动 tomcat 修改该属性 Dorado5 开发手册 25 如下图输入小写 employee 作为 view 名称 点击 确定 进入下一步 2 添加 AutoSqlDataset 选择 datasets 后 点击添加 AutoSql Dataset 选择添加 View Dorado5 开发手册 26 选择 helloworld 作为需要使用的 dataSource 选择接下来需要使用的表 例如 employee 点击 select all 选择添加所有字段 如下图所示 1 选择 datasets 2 点击添加 autosql dataset 1 选择 datasource 2 选择数据表 Dorado5 开发手册 27 点击 preview 预览 检查我们的设置 点击 ok 确定 一个 AutoSqlDataset 就算建设成功了 将 AutoSqlDataset 的 id 修改为 datasetEmployee 3 添加 Controls 对象 1 添加所有字段 2 点击预览结果 Dorado5 开发手册 28 接着点击右边窗口中视图模型 viewModel 树的底端的 control 分别新建三个元 素 新建 DataPilot 组件 绑定 1 中的 datasetEmployee 新建一个数据表格 datatableEmployee 用于表现数据 选择浮动栏中的第一项 DataTable 新建一个命令 commandUpdate 用于发 update 指令 提交我们的修改 选择浮 动栏中的第一项 UpdateCommand 新建一个按钮 buttonUpdate 绑定这个 2 中的 command 对象 让我们页面可以 控制这个修改操作 配置组件绑定关系 设定新建 DataPilot 对象 dataPilotEmployee 对象的 dataset 属性为 datasetEmployee 1 选择 control 2 添加 datatable 3 添加 button 4 添加 updatecommand Dorado5 开发手册 29 配置 tableEmployee 表现 datasetEmployee 的信息 点击选择控制集 controls 下面我们刚建立好的 tableEmployee 在右边窗口中 设置 dataset 部分绑定 datasetEmployee 如下图 配置 commandUpdate 指定提交 datasetEmployee 的内容 打开 commandUpdate 节点 选择 DatasetInfos 项 在左边点击图标 添加一个 datasetInfo 如下图所示 设置该元素表现的 datasetEmployee 设置该元素表现的 datasetEmployee Dorado5 开发手册 30 接着在右边属性窗中 将 dataset 的选项置为 datasetEmployee 表示该命令执行时将 会被提交的服务器德是 datasetEmployee 对象 配置 buttonUpdate 作为 commandUpdate 这个提交动作的触发器 点击 controls 中的 buttonUpdate 在右边的属性栏中 将 command 属性绑定为 commandUpdate 将 value 属性设为 保存 这样 生成一个页面 JSP 选择我们刚做好的视图模型 viewModel 点击左边的图标 系统自动生成一个页面 jsp 如图 1 选择 DatasetInfos 2 添加 datasetInfo 3 选择 datasetEmployee 作 为 command 控制对象 Dorado5 开发手册 31 接着选择 web 目录作为存放 jsp 的文件夹 如下图 直接点确定 大功告成 用 IE 打开 http localhost 8180 helloworld employee jsp 浏览我们的成果吧 1 选择 viewModel 根节点 2 点击生成 JSP 选择 jsp 放置目录 Dorado5 开发手册 32 当然 这个页面是没有经过分页 列控制 排序等等的 如果要作详细的设置 我们可以 参考 dorado 的 api 文档 里面对每个属性都有详细的说明 注意例子中的新建 生成等功能也可用右键菜单的方式代替 取决于个人的习惯 5 常用组件应用技巧常用组件应用技巧 本章列举dorado中常用的组件的使用技巧 5 1 自由表单自由表单 AutoForm 在 dorado 众多组件中 AutoForm 的使用是较 DataTable 之后比较多的一种自由表单 组件 我们知道在 dorado 中 通过绑定一个 Dataset 可以实现表单是浏览数据 还可以进 行各种提交操作 不过在 AutoForm 使用的时候感觉它的布局不太灵活 不太美观 多样性 功能少 其实 在 AutoForm 里面有许多开发技巧 可以使 AutoForm 里面的控件布局更加 美观 可读性更强 而且在最新版本的 dorado5 0 中 AutoForm 中可以实现图片的上传与 显示功能 现在让我们看看这些功能开发的技巧讲解吧 技巧一 Group 的使用 在 dorado5 0 的版本中 同样有默认的 FormGroup Dorado5 开发手册 33 如果不做任何处理的话 运行时效果与 dorado4 X 版本有些不同 可以看到有个符号 如果单击它 则表单会收缩 可以看到 表单中的控件隐藏了 现在我们再新建一个 group 看看效果 如图可见 当新建一个 group1 的时候 默认状态下 第一个 group 是展开的 后面的 group 都是收缩的 有效的使用 group 将不同分类的控件放在合适的 group 中 可以是用 户对于各个表单中的控件作用一目了然 另外 group 属性中的各种不同属性 可以使得 group 呈现出各种独具特色的表单风格 例如 可见性 是否展开等等 默认情况下 AutoForm 表单是 100 显示的 如果控件少 就会被拉的很长 极不美 观 而且 默认排列的布局也不符合开发者的要求 此时就可以用 AutoForm 和 group 的 width 进 行组合设置大小 在布局方面 利用 group 的 columnCount 属性和控件的 colspan rowspan 属性配合 设置 可以让表单内的控件井然有序 columnCount 属性设置该 group 内控件共可占几列 colspan rowspan 属性设置该控件将占的行列数 而 AutoForm 将会自动按照设定进行 排列 如下图 Dorado5 开发手册 34 运行结果如下 技巧二 CustomElement 的使用 于 AutoForm 是绑定在定义好的 Dataset 上的 所以 AutoForm 里面的组件都是显示 或编辑功能为主的 如果要想在 AutoForm 里面加入一个提交操作的按钮 就需要使用 CustomElement 元素实现 如下图 首先新建一个 Button 控件 然后 如下图配置 Dorado5 开发手册 35 刷新刚才的页面结果如下 除了 button 控件可以在内部显示之外 很多可显示控件都通过 CustomElement 按照 设置 button 控件一样在 AutoForm 内部显示 如 DataPilot DataTable 等等 Dorado5 开发手册 36 技巧三 5 2 数据表格数据表格 DataTable dorado 众多控件中 使用频率最高的 风格变化最多的当属 DataTable 控件 默认情 况下 一个 DataTable 控件显示如下 Dorado5 开发手册 37 可以看到 这个 DataTable 控件默认的样式是比较简陋的 要使 DataTable 呈现多变 的展现风格 需要对 DataTable 和被其绑定的 Dataset 进行各种设置 现在 我们通过 employee dept 表来讲解演示 DataTable 中的各种开发技巧 技巧一 DataTable 的分批下载 合计栏功能 默认情况下 DataTable 将显示 Dataset 中的全部记录 如图 但是这样有个弊端 当记录总数过多时 页面加载耗时比较漫长 影响性能 就需要我们 设置页面记录大小 以保证性能 如下图 Dorado5 开发手册 38 运行结果如下 这样做似乎解决了性能问题 但是明显可以看出 用户无法得知总记录数 要解决这个问 题 需要将 Dataset 的 autoLoadPage 属性设为 true 如下图 Dorado5 开发手册 39 运行结果如下 可以看到 设置 autoLoadPage 的表格风格与未设置的风格一样 但是它们的记录数却 不一样 显示为全部记录 适当的调整表格 可以使设置了 autoLoadPage 和 PageSize 的 显示风格与未设置而下载全部记录的 DataTable 的显示风格一样 而性能却有很大的提升 尤其是大数据量显示的情况 在 employee 表中 有个工资列 salary 有时候我们想知道该表中所有员工的总工资 金额 在以前 需要手工 javascript 代码进行计算 现在新版本中可以通过设置 field 的 supportsSum 属性的值将计算总金额自动在表尾显示出来 首先 设置 Dataset 中 Field 的 supportsSum 属性为 true 如图 Dorado5 开发手册 40 然后 设置 DataTable 的 showFooter 属性值为 true 如图 运行结果如下 Dorado5 开发手册 41 技巧二 DataTable 的行列锁定 表头组合列设计功能 在 dorado5 0 版本中 支持行列锁定是 DataTable 的新功能 效果如下 原表格 点击左上角的空白处 会弹出一个设置窗口 如图 然后单击锁定列数的编辑框选择锁定的列数 如下图 Dorado5 开发手册 42 点击 OK 之后 锁定结果如下 可以看出 当锁定列后 拖拉表下方的滚动条 被锁定的列无法实现拖动操作 除行列锁定功能外 组合表头功能也是新版本的 DataTable 的新功能之一 表头组合是将表的列中一些信息关联的列 按照要求组合成一列 方便操作 首先 选中 DataTable 控件时 可以看到和以前的版本不同的是有一个类似于 AutoForm 的 group 的 ColumGroup DataTable Dorado5 开发手册 43 建立一个 columngroup 可以看到 columngroup 可以看到 在 columngroup 里面 可以建立如图 在 groupcolumn 里建需要组合在一起的列 如下图 Dorado5 开发手册 44 运行结果如下 对组合列在 DataTable 中当作一个一般列访问 访问组合列中的一般列需要用组合列的 方法进行访问 如下图 Dorado5 开发手册 45 技巧三 自定义表格设计 除了可以用配置方式使表格的风格多变外 还可以通过自定义手工代码方式 设计具有独 特风格的表格 Boolean 列的复选框设置 通过设置 DataTable 的 Column 的 editorType 属性可以实现 如图 Dorado5 开发手册 46 运行结果如下 2 合并字段 本例讲解如何将雇员编号和姓名两列合并 首先打开事件编辑器 在列 employee name 的 onRefresh 事件内编写代码 双击打 开事件编辑器 如下图 Dorado5 开发手册 47 事件编辑器窗口 编写代码如下 Dorado5 开发手册 48 运行结果如下 3 插入图片 本例讲解如何设置 sex 列为单选并动态加载图片 首先新建一个 ListDropDown 设置好映射值 将 ListDropDown 的 mapValue 属性设为 true Dorado5 开发手册 49 然后设置 sex 列的 dropDrown 为 dropdown1 editorType 为 radiogroup 打开事件编辑器 编写如下代码 Dorado5 开发手册 50 运行结果如下 4 字段自定义格式的设置 本例主要讲解出生日期 薪水列 网址超链接的格式设置 包括自定义的校验 首先设置 birthday 的 format 属性值 然后打开 DataTable 的 salary 列的 onRefresh 事件编辑器 编写如下代码 Dorado5 开发手册 51 然后打开 web 列的 onRefresh 事件编辑框 编写代码 运行页面如下 5 在表格内实现按钮操作 本例主要讲解在 DataTable 的 cell 中实现用 button 的单击事件进行加薪操作 首先新建一个 column 如下图 Dorado5 开发手册 52 然后 ViewModel 的事件编辑器 如图 编写加薪函数 Dorado5 开发手册 53 然后打开 operator 的 onRefresh 事件编辑器 编写如下代码 运行结果如下 5 3 菜单菜单 Menu 5 4 树树 Tree 5 5 下拉框下拉框 DropDown 5 6 命令命令 Command 6 视图模型视图模型 6 1 视图模型的状态视图模型的状态 视图模型实际上并不是一个简单的 xml 配置文件 在运行期间他是作为一个对象存在并 向 JSP 提供各种服务 但是只得注意的是这个对象并不是一直存在与服务器段的 在每一次 提供服务之后就会释放 生命周期属于 Request 类型 在运行期间 该对象与 JSP 发生的关系存在如下图的情况 Dorado5 开发手册 54 视图模型 View Model dorado JSP Server Client 1 JSP URL 请 求 2 数据请求 记 录分批下载 3 数据提交 方 法调用 在视图模型中我们提到该对象存在三种状态 分别为打开视图状态 箭头 1 服务状态 箭 头 2 数据提交状态 箭头 3 打开视图状态 视图模型负责初始化记录集以及初始化 Control 对象 数据请求 实现某一个记录集的数据加载功能 数据提交 调用视图模型中 Command 指定的方法并传递该方法需要的参数与记录集 对象 由于每一次与客户端交互的过程中 视图模型都会被重新创建 因此注意不要在视图模型 中通过使用私有变量保存状态信息 视图模型提供了一个可供开发人员扩展的事件列表 这些事件会在视图模型的各个生命周 期中被系统调用 主要有事件有 视图模型事件列表视图模型事件列表 public void init int state throws Exception 说明 视图模型初始化 其中 state 为视图模型的状态 可取值为 ViewModel STATE VIEW 打开视图状态 ViewModel STATE SERVICE 数据请求 ViewModel STATE UPDATING 数据提交或者方法调用 protected void initDatasets throws Exception 说明 视图模型中的记录集初始化事件 在该事件中我们可以通过 getDataset String id 方 法获取视图模型的记录集对象 protected void doLoadData throws Exception 说明 视图模型中的记录集加载数据时发生的事件 在该事件中我们可以通过 getDataset String id 方法获取视图模型的记录集对象 protected void doUpdateData ParameterSet parameters throws Exception 说明 视图模型中的 UpdateCommand 对象 在客户端被调用时出发的事件 如果 command 的 method 有设置过 例如属性设置为 myUpdate 则我们可以在服务器端定义 一个 public 方法负责接收该数据提交的请求 Dorado5 开发手册 55 public void myUpdate ParameterSet parameters throws Exception protected void initControls throws Exception 说明 视图模型初始化自身的 Control 对象时触发 在该事件中我们可以通过 getControl String id 方法获取视图模型的 Control 对象 这些事件列表并不是在视图模型的每一次生命周期中全部被调用到 不同的生命周期会调 用其中不同的事件 状态状态会触发的事件会触发的事件 public void init int state throws Exception protected void initDatasets throws Exception protected void doLoadData throws Exception ViewModel STATE VIEW protected void initControls throws Exception public void init int state throws Exception protected void initDatasets throws Exception ViewModel STATE SERVICE protected void doLoadData throws Exception public void init int state throws Exception protected void initDatasets throws Exception ViewModel STATE UPDATIN G protected void doUpdateData ParameterSet parameters throws Exception 这样我们在业务逻辑代码编写的过程中就必要根据视图模型的不同状态来编写 保证 在正确状态下被执行 在正确的事件下被执行 6 2 视图模型实现类视图模型实现类 常规模式下 我们并不需要定一个视图模型的实现类实现 6 1 中的各种事件 dorado 框架 在 dorado jsp 运行时会自动根据情况动态创建一个 DefaultViewModel 作为视图模型的实 现类 并在其中内置了上节内容提到的各种事件的实现代码 对于在实际开发中我们想定制其中具体行为的时候 我们可以通过视图模型的实现类创建 向导生成一个针对具体视图模型的实现类 自定义其中的事件实现代码 向导快捷按钮如下 Dorado5 开发手册 56 生成的实现类之后 视图模型通过本身的 clazz 属性实现与实现类的绑定关系 实现类可以继承实现视图模型中的任何一个事件 开发中根据需要定制 范例 Chapter06 sample1 利用视图模型的事件运行期间动态定制视图模型的行为以及特征 等 数据获取的自定义等等 在该范例中利用 initControls 事件动态设置按纽的 value 以及 disabled 属性 利用 initDatasets 事件动态添加一个临时字段 并设置薪水 salary 字段为 只读 Chapter06 sample2 编辑框中的内容为 JS 语句 修改 setValue 的值 选择保存可以 在控制台看到自己修改后的值 否则系统控制台输出的内容还是会保留视图模型中 initControls 代码中初始化的值 Chapter06 sample3 利用 DataSource xml 配置文件中的数据连接 获取 java sql Connection 对象实现后台业务逻辑处理中 对数据库其他表格的数据存取操作 该 例子实现了表格修改的日志记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔疾病风险预测-洞察及研究
- 广东省梅州市兴宁市实验学校、宁江中学2025届九年级下学期中考三模道德与法治试卷(含答案)
- 2024-2025学年广西柳州市城中区人教版三年级下册期末考试数学试卷(含答案)
- 西师大版数学六年级上册第八单元测试卷(B)(含解析)
- 边河安全培训基地课件
- 边城课件教学
- 基于拓扑优化的凸轮轮廓面接触应力分布与疲劳寿命提升路径研究
- 地暖场景下分体式空调热辐射效率的跨模态研究
- 后疫情时代一次性医疗用品需求激增与资源可持续性的博弈平衡
- 可降解材料产业化进程中碳足迹核算的技术瓶颈
- 半导体数字集成电路测试技术概要
- 公共政策分析陈庆云
- 螺杆式冷水机组招标技术要求
- 小区道路维修施工方案(全面完整版)
- 心包积液以及心包填塞
- 商业银行内部审计技术与方法
- 机电传动控制-电力电子技术1
- 化粪池土方开挖施工方案
- 论信息技术对公共行政的影响分析研究行政管理专业
- 蒂斯——动态能力与战略管理中译版
- 沥青搅拌设备项目说明(参考模板)
评论
0/150
提交评论