设为首页
·
加入收藏
首页
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开源项目
>
组件类库
>
模板引擎
smarty4j
smarty4j是一个smarty for java的模板引擎,该引擎是将smarty模板从php上移植过来,需要asm-3.0.jar。
【官方主页】
【下载地址】
网友留言/评论
我要留言/评论
相关开源项目
Japid
:Japid-Play是一个拥有与Java硬编码相同性能和速度的Java板模板引擎。模板语法与Play! Web开发框架模板语言相似。Japid是一个通用的模板引擎,适用于任何Java应用程序来渲染任意Java对象。此外它还提供一个专门用于Play!框架的适配器。Japid主要目标是用在基于Play!开发并且拥有大流量的网站中。为了达到这个目标,Japid将基于html的标签文件转换成干净的Java源代码以便让渲染工作能够达到接近采用Java硬编码的速度。Japid其它高级特性包括:拥有类似于site-mesh布局功能,可以使用标签(Tag),模板可以有层级关系,内容缓存,服务器端Include等。使用这些高级功能并不会降低Japid的性能。
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等缓存策略)
Jamon
:Jamon是一个Java文本模板引擎,用于生成动态HTML, XML,或任何基于文本的内容。它有一个丰富的功能集,支持封装,参数化,功能分解,表达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容("fragments"),并被翻译成带有公有方法的Java类,它的符号反映了在模板中声明的参数。
Jxp
:Jxp(Java scripted page)包含一个Java脚本处理器和一个模板引擎,它支持同时具备文本和Java代码的模板文件。它包含一个剖析器和一个结构处理器,剖析器用于将脚本内容转化为特定的结构,结构处理器将处理这些特定的结构内容转换为常规代码,并通过API函数在产品中输出。
Hapax
: Hapax是一个简单,但强大的文本模板引擎,适用来在 Java代码中构建文本输出。模板语法和Google的ctemplate相似。
Velocity
:Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】
StringTemplate
:StringTemplate一个可以生成原代码,web页面,emails和其它任何需要有格式的文本输出。StringTemplate已应用在为jGuru.com与antlr.org网站产生web页面。
JDynamiTe
:JDynamiTe是一个把PHP模板技术移植到Java的一个开源项目。JDynamiTe模板用注释(BEGIN-END)标记动态块,用{}标记占位变量。JDynamiTe模板不包含任何逻辑,是“所见即所得”的模板技术,能够在普通的HTML浏览器或编辑器正确显示。
JLoom
:JLoom是一个采用类似于JSP语法的模板引擎。参数可以是任何Java类型,甚至是泛型(generic)。JLoom还提供一个Eclipse插件来辅助开发。
Aluminum
: Aluminum是一个强大和灵活的模板引擎。它可用于生成文档,但还可以用于做更多复杂的任务。Aluminum可以单独使用,也可以在servlet环境中使用。
联系我们
|
关于开源
CopyRight © 2008-2010
www.kaiyuanba.cn
京ICP备10010536号