[ECS] ECS 功能说明


公司的内部框架Appframe升级了,反编译看源代码 Web Tag 部分,发现新版本引入了 Apache ECS ,使得源代码清晰了很多。

有趣的点子,以前自己怎么没有想到过。

   

[ECS] <wbr>ECS <wbr>功能说明

ECS系统的功能是帮助java开发者形成格式化输出。它可以形成的格式包括:html, jsp, rtf, vxml, wml, xhmtl, xml。
            
ECS系统实现格式化输出的基本思想是:对每一种输出中的基本元素定义一个类来封装它,用系统实现的toString()函数实现格式化的输出。比如我们要在jara程序中实现html格式的输出时,我们通常会写如下的语句:
out.println("<H1>Demo Header</H1>"); 
           
在引入ECS系统后,我们可以用另一种方式来实现这样的动作,如下:
H1 h1 = new H1("Demo Header");
out.println(h1.toString());

其中由ECS系统定义的Class H1就是对html格式中<H1>元素的封装。

其实,各种格式化输出中的元素都是符合xml文档规范中element的定义的。Xml文档中的element有两个重要的特性,就是可以包含属性和子 element。在ECS系统中用addAttribute();函数和addElement();函数来实现。这两个函数应该是最常用的函数了。当然对于特定的封装类,还会有特定的方法,如封装html格式中<font>的类Class Font就有setColor();函数和 setSize();函数等。

这样做的好处有如下三条,
1:ECS系统中已经定义了200多个的有意义的颜色值可供使用,开发人员就不用去定义16进制的RGB值了,
2:ECS系统实现了可以定制的filters功能,它可以对字符串自动进行替换,对于象& ' "这样的字符,开发人员就不用进行手工替换了,
3:每个类的输出函数output();是可以被覆盖(overridden)的,所以开发人员可以自己定义他所希望的输出格式。另外可能还有一个好处就是,用这样的方法形成的输出,犯语法错误的可能性会小得多。

ECS系统被封装在一个jar包文件中,只要把这个文件包含在classpath中就可以用了,不需要特别的安装。这个jar包中有12个包。ECS系统的API是完整的。

ECS系统的说明在http://jakarta.apache.org/ecs/index.html

下载ECS的地址在 http://jakarta.apache.org/builds/jakarta-ecs/release/v1.4.1/

posted @ 2005-12-22 15:55  vanuan  阅读(209)  评论(0编辑  收藏  举报