设为首页
·
加入收藏
首页
PHP项目
JAVA项目
AJAX项目
C#项目
Ruby/Rails项目
U/Linux项目
教程下载
技术文章
我要登陆
我要注册
您的帐号:
您的密码:
自动登录:
取消
不是吧,您还没注册?赶紧注册吧!
10秒钟闪电注册
我要登陆
我要登陆
我要注册
您的邮箱:
请将您的邮箱作为登录账号
您的昵称:
4~30个字符,可以为中文
登陆密码:
6~30个半角字符
确认密码:
请再次输入密码
验 证 码 :
取消
组件类库
AOP面向方面编程
工作流
IOC依赖注入
缓存框架
调度框架
JEE框架
持久层框架
报表制作
连接池
模板引擎
XML UI工具包
Web Service
日志组件
Html解析类库
XML操作类库
搜索引擎
PDF类库
网络客户端组件
网络服务器端组件
JMX框架
动态语言
规则引擎
加密与混淆
代码优化
Email客户端
RSS聚合类库
开源集合类库
Chat工具
JMS消息中间件
字节码操作
语法分析生成器
Java游戏
运行分析工具
多媒体组件
Swing外观
身份验证
EAI/ESB组件
Web爬虫
模型转换器
OSGi框架
BI商业智能工具
J2ME开源项目
Android开源项目
开源吧
>
JAVA开源项目
>
组件类库
>
模板引擎
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环境中使用。
联系我们
|
关于开源
CopyRight © 2008-2010
www.kaiyuanba.cn
京ICP备10010536号