trs+wcm二次开发文档.doc

上传人:F****n 文档编号:98043400 上传时间:2019-09-07 格式:DOC 页数:55 大小:1.60MB
返回 下载 相关 举报
trs+wcm二次开发文档.doc_第1页
第1页 / 共55页
trs+wcm二次开发文档.doc_第2页
第2页 / 共55页
trs+wcm二次开发文档.doc_第3页
第3页 / 共55页
trs+wcm二次开发文档.doc_第4页
第4页 / 共55页
trs+wcm二次开发文档.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《trs+wcm二次开发文档.doc》由会员分享,可在线阅读,更多相关《trs+wcm二次开发文档.doc(55页珍藏版)》请在金锄头文库上搜索。

1、目目 录录 1文档概述文档概述4 1.1文档的建立4 1.2文档的适用范围4 1.3文档的组织4 1.4文档的目标4 1.5文档术语4 1.6我们的建议5 2阅读前的准备阅读前的准备5 2.1安装 TRS WCM V65 应用5 2.2安装 ECLIPSE.5 2.3导入 TRS WCM DEVELOPER工程 .5 2.4EXAMPLE中示例方法运行方法.5 3WCM 持久化实现持久化实现5 3.1概述5 3.2集合和元素初始6 3.3集合和元素进阶7 3.4集合和元素的产生8 3.4.1配置Ant运行环境8 3.4.2利用WCMStudio产生代码8 3.5查询 SQL 描述对象WCMFI

2、LTER.10 3.6查询读取指定条件的数据10 3.7删除指定的数据11 3.8新增数据12 3.9修改数据12 3.10集合常用操作13 3.10.1判断指定ID是否在集合中.13 3.10.2获取指定位置的元素13 3.10.3获取指定ID的元素.13 3.10.4从集合中移除指定位置的元素,不从数据库删除13 3.10.5从集合中移除指定ID的元素,不从数据库删除.14 3.11元素常用操作14 3.11.1根据ID获取指定元素对象.14 3.11.2判断指定对象是否可以被当前用户修改14 3.12数据类型14 3.13如何操作没有对应持久化对象的表15 3.14常犯错误15 3.14

3、.1构造WCMFilter包含关键字.15 3.14.2构造WCMFilter时SQL各部分顺序反了15 3.14.3构造WCMFilter时漏了要提取的字段.16 3.14.4构造WCMFilter时指定的字段在元素对应的表中不存在.16 3.14.5根据ID获取元素采用集合方式.16 3.14.6查询数据采用了低效方式17 3.14.7权限判断返回不是预期的值17 3.14.8集合移除操作需要从后往前18 3.15常见问题18 3.15.1每次打开集合是否需要传递用户18 3.15.2如何分页读取集合数据18 3.15.3多表联合查询怎么办19 3.15.4不同的查询条件和排序条件如何合并

4、19 3.15.5如何规避SQL注入.20 3.15.6是否支持从其它表中提取数据20 3.15.7如果查询语句要有Group By如何办20 3.15.8如果WCMDocument中新增了一个字段,如果使用Document对象读取.20 3.15.9构造WCMFilter的时候,只是指定三个参数会出现什么情况.21 4WCM 分层介绍分层介绍21 4.1持久层21 4.2业务层21 4.3服务层22 5如何使用服务层如何使用服务层22 5.1概述22 5.2使用步骤24 5.3实战 1获取固定栏目的文档.24 5.4实战 2根据 JSP 中传入的栏目 ID 获取文档 27 5.5实战 3处理

5、参数和服务要求的参数名不一致.27 5.6实战 4仅显示状态为已发的文档.29 5.7实战 5使用多个服务.30 6如何撰写服务层如何撰写服务层31 6.1撰写步骤31 6.1.1实现合适的接口IServiceProvider或者其子类31 6.1.2撰写配置文件31 6.1.3撰写服务层测试用例32 6.2常用 API32 6.2.1保存(Save)方法中将传入的参数都设置到对象中32 6.2.2查询(query)服务中将页面传入的参数组合成WCMFilter.32 7在在 WCM 中注入项目特性中注入项目特性.34 8给给 WCM 换一个表现换一个表现.34 9置标置标扩扩展展34 9.1

6、阅读建议34 9.2理解 TRS WCM 置标 .34 9.3置标解析器(PARSER).1 TRS WCM 二次开发文档 第 3 页 9.4快速入门HELLO,WORLD!.1 9.5如何获取置标上设置的属性HELLO,北京/上海/广州!3 9.6如何获取置标所处语境页面对象的信息HELLO,站点 XXX/栏目 XXX/文档 XXX!.4 9.7如何获取置标所处语境当前相关对象的信息显示文档作者的联系电话5 9.8WCM 置标属性规范.7 9.8.1ID .7 9.8.2Field.7 9.8.3NUM.7 9.8.4AutoFormat、AutoFormatType.7 9.9常用的方法8

7、 9.9.1根据置标ID上设置的属性获取相关的栏目.8 9.9.2根据置标ID上设置的属性获取相关的栏目.8 9.9.3获取当前页面所在路径8 9.9.4获取指定对象的HTTP路径8 9.9.5获取文档的HTTPURL(第一页).8 9.9.6计算一个地址相对于当前页面的相对地址8 9.9.7按照置标属性设定的要求截断字符串9 9.9.8按照置标属性设定的要求转义字符串9 9.9.9将文件分发到分发点上9 9.9.10将置标可以很指定的栏目建立触发发布关系9 9.10高级调试置标9 10附录附录9 10.1附录 1:WCM 常用的持久化对象及对应的表9 10.2附录 2:数据类型.9 10.3

8、附录 3:服务调用对象 JSPREQUESTPROCESSOR10 10.3.1常用FAQ.11 10.4附录 4:PUBLISHTAGCONTEXT常用介绍.13 10.4.1获取置标属性(getAttribute)13 10.4.2获取置标所处语境页面对象(getPageElement).14 10.4.3获取置标所处语境当前对象(getUpperHost).14 TRSTRS WCMWCM 二次开发文档二次开发文档 TRS,2011-02-20 1文档概述文档概述 1.11.1 文档的建立文档的建立 本文档是专门针对 WCM 产品的二次开发而编写的指导性手册;它从设计原理和 应用实践两个

9、方面详细阐述了有关二次开发中所涉及的问题。 本文档是由 TRS WCM 产品开发组共同建立和维护的。在实际的应用中,WCM 开发组有义务不断更新和补充完善本文档。 1.21.2 文档的适用范围文档的适用范围 所有内容适用于 TRS WCM V6.0 以上版本。 WCM 持久化实现和业务逻辑层开发可适用于 TRS WCM V5.2 WCM 持久化实现可适用于 TRS WCM V5.0/5.1 1.31.3 文文档的组织档的组织 本文档在内容组织上,注重设计原理和应用实践两个方面并重。因为我们认为, 理解设计原理是更好应用的基础,也是较深层的二次开发所必须了解的内容。 本文档在布局上,按照下面的方

10、式安排: 首先阐述 WCM 开发平台的持久哈,它是应用和扩展 WCM 的最基础、最核 心的内容; 然后分别阐述了 WCM 分层架构, 最后重点讨论。 1.41.4 文档的目标文档的目标 在阅读完本文档后,您应当明确理解和掌握的内容是: 如何应用 WCM 持久化框架操作数据库中数据; 如何扩展 WCM 持久化对象 如何熟练应用 WCM 中有关任务和计划调度、工作流、发布等关键性的扩展性支 持开发; 如何熟练解决 WCM 应用开发中的一些问题。 最终:您应当能够熟练掌握和应用本文档中所有 WCM 扩展开发内容。 1.51.5 文档术语文档术语 Eclipse: 对象: 实例: 见 XXX.xxx(

11、):为参考工程中实例方法 TRS WCM 二次开发文档 第 5 页 1.61.6 我们的建议我们的建议 在阅读和学习本文档时,我们建议您注重以下方面: 1.从设计原理上去理解和把握 WCM 解决关键问题的思路和方法; 2.多做,在练习中理解 WCM 对象模型的体系结构和建构原则,并熟练应用该 模型解决实际问题和扩展应用。 3.在较短的时间内,迅速完成本文档中所有涉及到的关键性开发问题;如果把一切 问题都留待实际应用开发中去做,往往会事倍功半。 2阅读前的准备阅读前的准备 2.12.1 安装安装 TRSTRS WCMWCM V65V65 应用应用 2.22.2 安装安装 EclipseEclip

12、se 2.32.3 导入导入 TRSTRS WCMWCM DeveloperDeveloper 工程工程 1.从 FTP 上下载工程 2.在 Eclipse 中导入工程 3.修改工程中数据库配置文件,指向新装的 WCM 数据库 4.修改工程的注册码,将 WCM65 应用中的注册码更新到工程中 2.42.4 ExampleExample 中示例方法运行方法中示例方法运行方法 如下图所示,在方法上点击回右键 Run AsJUnit Test 3WCM 持久化实现持久化实现 3.13.1 概述概述 应用系统首先需要解决持久化问题,就是如何将关系数据库中的数据转换成 Java 对象; 很多系统利用 H

13、ibernate 开源框架解决,WCM 开发平台是自主研发的持久化框架。 她的特点是“集合、元素” 、 “分页载入” 、 “先载入 ID 再读取数据” 、 “拆分 SQL” 如何利用 WCM 持久化框架操作关系数据库中的数据是一切的基础,所以读懂和扩展 WCM 先从这里开始。 3.23.2 集合和元素集合和元素初始初始 一条查询语句会查询出多条数据,如下图所示,如下图所示,WCM 持久化框架这样描述查询结果:持久化框架这样描述查询结果: 每一个表对于一类集合和元素对象,WCMDocument 表对应的为 Documents 和 Document,有 s 表示是集合对象; WCM 对应的表都有一

14、个 ID 字段(每个表的字段名一般都不一样)、创建者(CrUser)、 创建时间(CrTime) 一个 WCMFilter 对象的实例描述一条查询语句; 一个集合对象的实例描述查询的结果; 单条元素对象的实例描述单条记录; 元素对象的属性描述记录中的字段值; 对应的代码为(见工程中的对应的代码为(见工程中的 QueryDocuments.query1 方法):方法): TRS WCM 二次开发文档 第 7 页 / 1 构造查询语句(注:集合和元素都知道自己管理那张表,所以第一个参数From 可以不用输入) WCMFilter filter = new WCMFilter(“, “DocId=1

15、 and DocId=1“, “, “Select DocTitle,DocId,CrUser“); / 错误的代码2,Where和Order反了 WCMFilter filter = new WCMFilter(“, “DocId desc“, “DocId=1“, “ DocTitle,DocId,CrUser“); 一般为了规避 SQL 注入,不再推荐见 Where 中直接写查询条件,需要改为?的方式, 比如查询曹辉创建的文档,ID 小于 10 的 WCMFilter 建议这么写: WCMFilter filter = new WCMFilter(“, “CrUser=? DocId=1

16、0“, “, “DocTitle,DocId,CrUser“); 3.63.6 查询读取指定条件的数据查询读取指定条件的数据 实现步骤:实现步骤: 1.了解要操作的表对应的集合对象(比如文档对应为 Document) ,见附录 1: 附录 1:WCM 常用的持久化对象及对应的表 2.构造查询语句并设置查询用到的参数 3.通过对应的集合对象发出查询请求,获取结果对应的集合 4.遍历集合,逐个读取元素的属性 如何分页显示见常见问题描述章节:如何分页读取集合数据 示例代码(读取示例代码(读取 admin 发布的发布的 ID 小于小于 10 的文档)的文档) ,见,见 DocumentExample.query2(): / 1 构造查询语句并设置Where用到的参数 WCMFilter filter = new WCMFilter(“, “CrUser=?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号