• Better Templates for Everybody


    一个让数据知道如何插入到模板中适当的位置,模板可以从静态的文件或Java servlets来创建。
    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目

    Japid:Japid-Play是一个拥有与Java硬编码相同性能和速度的Java板模板引擎。模板语法与Play! Web开发框架模板语言相似。Japid是一个通用的模板引擎,适用于任何Java应用程序来渲染任意Java对象。此外它还提供一个专门用于Play!框架的适配器。Japid主要目标是用在基于Play!开发并且拥有大流量的网站中。为了达到这个目标,Japid将基于html的标签文件转换成干净的Java源代码以便让渲染工作能够达到接近采用Java硬编码的速度。Japid其它高级特性包括:拥有类似于site-mesh布局功能,可以使用标签(Tag),模板可以有层级关系,内容缓存,服务器端Include等。使用这些高级功能并不会降低Japid的性能。
    JByte:JByte基于java的模板引擎。它通常用于把Jsp或Servlet转换成HTML,也可以转换成其它格式比如:XML,RTF,WML,e-mail text,原代码, 配置文件。
    Guglhupf XTE:Guglhupf XTE(XML Transformation Engine:XML转换引擎) 是一组用来转换XML文件的工具。它提供了一种比XSLT更简单的方式来转换XML。XTE不同于XSLT与Velocity这样的XML转换工具,它们都用特殊的语言来处理XML文件输入,然后把目标数据作为输出陈述.而XTE是以相反的方式进行它的模板是已经写在输出格式上的,而输入处理命令则是写在特殊的注释块中.它的模板文件采用Java代码编写.
    JLoom:JLoom是一个采用类似于JSP语法的模板引擎。参数可以是任何Java类型,甚至是泛型(generic)。JLoom还提供一个Eclipse插件来辅助开发。
    CommonTemplate:CommonTemplate是一个模板引擎,用于解释CTL模板语言,可在多种运行时环境下使用;其主要目标是作为JSP,ASP.Net等的替代方案,以保证用简单的语法,良好的结构,不混杂业务逻辑的方式书写页面;也可以作为动态文本生成工具,生成HTML、XML、Mail、Java源代码或其它文本等。
    二、CommonTemplate特性:
    1.只有一个语法规则:$指令名{表达式},使用更简单,更统一。
    2.支持语法外套,可以在Dreamwear下正常使用WYSWYG,并且语法外套也是可扩展的。
    3.微核理念,高度可扩展,除了核心API,其它逻辑相关处理都是外置的,包括所有指令及表达式,标准的 for, if, else 等指令,以及 + - * / 等表达式,均可被替换。
    4.使用主控迭代器模式替代传统的被动访问器模式,引擎只负责将模板解析成指令树,其它所有处理均由扩展指令自身完成,给扩展指令以最大的控制权。(类似于StAX与SAX的区别)
    5.对已有不可变类(String,Number,Date等),属性扩展,采用open class思想。(类似javascript的prototype)
    6.支持宏引用及模板继承,更有利于模板组件化。
    7.内置的国际化支持,国际化信息处理更方便。
    8.多种优化措施,性能更优:
        (1) 采用针对特定语法写的低级专有DFA解析器解析,试验表明比使用通用抽象的BNF语法体系解析(Java中一般用JavaCC或AntLR)要快,因为BNF为了通用,考虑了太多因素,导致其效率降低,当然,BNF在处理复杂语法(比如要解析C/C++/Java等语法时)很有优势,但CommonTemplate的语法非常简单且统一,所以使用专有的低级解析器是比较好的选择。
        (2) 解析结果被表示成一个线程安全(不变类级)的指令树,单个实例可以在多线程中任意重复使用,避免使用重复解析或克隆等性能损耗。
        (3) 解析结果可以在内存中缓存起来,以减少解析次数及IO量,并且缓存策略是可扩展的。(已内置实现了NONE, STRONG, SOFT, FIFO, LRU, MRU, OSCACHE, EHCACHE等缓存策略)
    StringTemplate:StringTemplate一个可以生成原代码,web页面,emails和其它任何需要有格式的文本输出。StringTemplate已应用在为jGuru.com与antlr.org网站产生web页面。
    Jamon:Jamon是一个Java文本模板引擎,用于生成动态HTML, XML,或任何基于文本的内容。它有一个丰富的功能集,支持封装,参数化,功能分解,表达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容("fragments"),并被翻译成带有公有方法的Java类,它的符号反映了在模板中声明的参数。
    Jxp:Jxp(Java scripted page)包含一个Java脚本处理器和一个模板引擎,它支持同时具备文本和Java代码的模板文件。它包含一个剖析器和一个结构处理器,剖析器用于将脚本内容转化为特定的结构,结构处理器将处理这些特定的结构内容转换为常规代码,并通过API函数在产品中输出。
    Canvas:Canvas是一个基于Groovy脚本语言模板生成器。它使用类似于Velocity Java API来绑定变量并允许在你的模板中使用Groovy脚本表达式。
    Aluminum: Aluminum是一个强大和灵活的模板引擎。它可用于生成文档,但还可以用于做更多复杂的任务。Aluminum可以单独使用,也可以在servlet环境中使用。