文档生成框架
写这篇文章的目的:
这段时间SUP需要支持文档生成的工作,为了更好完成这个工作;另一方面也为以后的维护者提供参考;最重要的主要是自己的学习总结。
模型:
每个IDocElement都会通过getAdapter获取一个INamingPolicy和一个ILocationPolicy,同样通过getAdapter可以获取IEosElement和IResourceDelegate
每个具体的IDocElement都会实现抽象父类AbstractDocElement的以下三个方法:/**
/**
* 具体加载基本属性信息(具体提供内容)
*/
protected abstract void doLoadBasicAttrs();
/**
* 具体加载文档内容条目(具体提供内容) */
protected abstract void doLoadContentItems();
/**
* 具体加载子文档模型元素 *
* @param collector 内容提供者(collect service impl)
*/
protected abstract void doLoadChildren(IDocElementSourceProvider collector);
方法doLoadBasicAttrs()和方法doLoadContentItems()都是为模板收集信息(收集模板使用的一些变量信息,这里分别是basicAttrs、contentItems两个变量)。而方法doLoadChildren是收集子节点的信息,这些子节点也是一个个IDocElement。
doLoadContentItems方法,这个方法通过IDocContentItem的实现类的getData()方法提供开发文档中需要显示的表格信息。
扩展点:
文档生成框架的扩展点有十几个,这里只说明几个主要的扩展点
com.primeton.studio.doc.core.fileDocModelFactory
通过注册的IFileDocModelFactory子类获取新增的文件级别节点对应的文档模型。
com.primeton.studio.doc.core.folderDocModelFactory
通过注册的IFolderDocModelFactory子类获取新增的容器级别节点对应的文档模型。
com.primeton.studio.doc.template.templateExcuter
这个扩展点用来指定每个文档模型对应的模板执行器,及要执行的模板之间的对应关系。
新增一种文档模型需要实现上面三个扩展点。第1和第2个扩展点一般是在父文档模型的doLoadChildren方法中进行调用,如果没有实现这两个扩展点,就需要修改父文档模型的doLoadChildren方法。
改进文档树结构
原来文档树结构是写死的,只有固定的几个层次。如果调整资源树结构导致层次增加超过原来的树结构的最大层次时,会无法展现。
原有树结构展开或折叠的标志,不明确。除了前面两层固定展开外,其它节点即使没有子节点也显示成折叠标志
修改后project_fram.vm的主要代码如下:
body class=bookmarks#foreach($child in ${data.getChilds()})divpre class=bookma
body class=bookmarks#foreach($child in ${data.getChilds()})divpre class=bookmarksimg src=images/Lminus.png width=19 height=16 alt=x onclick=javascript:toggle(this); /img src=images/file.png width=16 height=16 alt=x style=margin-left:2px;margin-right:2px; ondblclick=javascript:toggle(this); /a class=bookmarks href=${child.getLink()} target=frame ondblclick=javascript:toggle(this);${child.getName()}/a/pre#set($iParent = $child)#parse(templates/velocity/common/projectTree_base.vm)/div#end
其中projectTree_i.vm(用于显示树上多少个I的图片)代码如下:
#if($iCount 0)img src=images/I.png width=19 hei
您可能关注的文档
- 攀钢新12#焦炉用三大件技术协议.doc
- 支架立柱千斤顶技术规格书.doc
- 改性沥青防水材料.ppt
- 改进的寄生五频PIFA天线研究-易迪拓培训.pdf
- 放学交通相关宣导72KB.doc
- 故事选编-一耽学堂.doc
- 教务处课务组102第2次最後1次加退选时间第一阶段.ppt
- 教学大楼室内面积.pdf
- 教学实务升等配套措施.ppt
- 教学活动设计-窝比系统更新中.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- C-V2X与单车智能融合研究.pptx VIP
- 消防改造设计任务书.docx VIP
- 广东省佛山市顺德区2024-2025学年六年级下册期中考试语文试卷(有答案).pdf VIP
- 消防设计任务书.docx VIP
- 实施指南《GB12268-2012危险货物品名表》实施指南.pptx VIP
- 带电作业安全距离PPT课件.pptx VIP
- 林业成果图制作—林业专题图及制图(GIS制图技术).pptx
- 高中英语课件7开课名师-郭贝老师from page to screen.pdf VIP
- 丙种球蛋白被动免疫治疗原因不明性反复自然流产研究.pdf VIP
- (二模)南通市2025届高三第二次调研测试英语试卷(含标准答案).docx
原创力文档

文档评论(0)