ECS 功能说明

来源:互联网 发布:如何学习matlab编程 编辑:程序博客网 时间:2024/05/19 16:07

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

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

    

    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系统的说明在::URL::http://jakarta.apache.org/ecs/index.html  ,下载ECS的地址在 ::URL::http://jakarta.apache.org/builds/jakarta-ecs/release/v1.4.1/。