CNF(Common Navigator Framework) 是一个通用的、可扩展的导航视图框架。通过 CNF,开发人员很容易开发一个 CNF 视图,或者对已有的 CNF 视图进行扩展。这篇文章主要介绍如何利用 CNF 框架扩展现有的 CNF 视图 Project Explorer,使其能够展示XML文件的文档结构,并且支持对 XML 元素的菜单操作。
通常,在开发 J2EE 应用程序的时候,用户会大量使用到 XML 文档,并对其进行查看、编辑和配置。XML 文档在 J2EE Perspective 中的 Project Explorer CNF 视图中是作为单个对象进行显示的(见 图 1 的左侧),这种方法有一定的局限性,用户如果需要查看 XML 文档的结构,就必须打开 XML 文件并在 XML 编辑器中查看,或者在另外的视图中专门针对 XML 文档结构进行解析并展示。这对一些经常使用到 XML 的应用程序开发来说,增加了一定的复杂性,需要多个视图或编辑器配合使用才能够了解 XML 文档结构。有两种方法可以解决这个问题:
一是:构建自定义的视图,在这个视图中展现所需要的模型内容,包括 XML 文档结构,这种方法有一定的缺点:
- 引入了一个新的视图,要使用这个新的视图可能还需要定义一个 Perspective,这就不能和已有的 J2EE Perspective 集成。
- 重新开发一系列已有的 J2EE Perspective 中 Project Explorer 视图已有的功能,没有达到最大化可重用的效果
二是:扩展已有的 Project Explorer CNF 视图,使得这个视图能够支持 XML 文档结构的树型展示,并且支持对 XML 文档进行菜单操作。这种方法避免了上面方法的缺点,文章中选用的也是这种方法。
根据需求的不同,可以选用上面两种方法中的任一种,文章选用的是对已有的 CNF 视图进行扩展,但文章中用到的原理同样适用于创建一个新的 CNF 视图。扩展后的 Project Explorer CNF 视图支持 XML 文档结构的展示,以及一系列的菜单操作。其界面效果如 下图的右侧所示:
本文转自:IBM developerWorks 中国