转载:http://blog.163.com/09zzy@126/blog/static/7119766520105201748942/
在java领域,表现层技术主要有三种:jsp、freemarker、velocity。
jsp是大家最熟悉的技术
优点:
1、功能强大,可以写java代码
2、支持jsp标签(jsp tag)
3、支持表达式语言(el)
4、官方标准,用户群广,丰富的第三方jsp标签库
5、性能良好。jsp编译成class文件执行,有很好的性能表现
缺点:
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
velocity是较早出现的用于代替jsp的模板语言
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能良好,据说比jsp性能还要好些
3、使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多。
3、对jsp标签支持不够好
freemarker
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能非常不错
3、对jsp标签支持良好
4、内置大量常用功能,使用非常方便
5、宏定义(类似jsp标签)非常方便
6、使用表达式语言
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多
选择freemarker的原因:
1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
2、宏定义比jsp tag方便
3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
4、支持jsp标签
5、可以实现严格的mvc分离
发表评论
-
JAVA一些用于作标志位的一些接口
2015-10-11 13:18 907Java 中 有很多接口内容为空的 ,基本上是用来做标 ... -
企业架构
2015-10-11 13:13 746企业架构 -
场景经验
2014-12-11 13:13 596锁链的使用场景: 游戏行业最简单的例子,A玩家,B玩 ... -
JVM优化
2014-12-11 13:12 764锁消除参数(需要加上逃逸分析来对变量作用域进行 ... -
BeanUtils.copyProperties VS PropertyUtils.copyProperties
2014-11-19 20:17 627BeanUtils.copyProperties VS ... -
JVM优化
2014-09-29 20:24 0锁削除参数(必须开启逃逸分析) -XX:+D ... -
ServerSocket backlog参数解析
2014-09-28 14:24 1080已经经过小弟的手动测试 转载(http://blog.csd ... -
锁粗化测试
2014-07-03 20:01 847锁粗化 可以用来 ... -
java虚拟机内存模型
2014-07-03 19:30 767... -
String.intern 在java 6,7 和8中的使用- 字符串常量池
2014-05-21 17:05 8953String.intern in Java 6, 7 ... -
基本类型转String 和字符串连接机制
2014-05-21 17:03 3246Primitive types to String conv ... -
spring的autowire详解
2013-11-24 23:09 2009spring 中 autowire 经常使 ... -
项目中总结一些小经验
2013-11-13 09:18 825最近接手别人的项目中,遇到了许多坑,故作了些 ... -
镜像队列阐述(翻译)
2013-07-27 08:26 749http://activemq.apache.org/mi ... -
如何定位java.lang.NoSuchMethodError
2012-12-15 21:55 1023在运行 ... -
like 查询注意事项
2012-04-22 17:35 973http://rdc.taobao.com/team/ ... -
hibernate
2012-04-18 13:57 797在hibernate中,用hql语句查询实体类,采用l ... -
正则表达式 贪婪与堕落
2012-03-09 11:24 825String str = "start [I ... -
jvm内存管理笔记二
2012-02-29 00:12 1073选自毕玄的<<分布式java应用> ... -
jvm内存管理笔记一
2012-02-28 23:32 924节选自毕玄<<java分布式应用& ...
相关推荐
在这种场景下,"Jsp结合Velocity实现依据Word模板文件生成对应数据文件"的技术方案显得尤为实用。JSP(JavaServer Pages)是用于构建动态Web应用的服务器端技术,而Velocity则是一个强大的模板引擎,它允许开发者将...
### jsp、freemarker、velocity简介和对比 在Java Web开发领域,模板引擎是连接后端业务逻辑与前端展示层的重要桥梁。本文将重点介绍三种常用的Java Web模板引擎:JSP(Java Server Pages)、Freemarker以及...
WebWork的核心特性之一是支持多种视图技术,包括JavaServer Pages (JSP)、Velocity模板引擎、可扩展样式表语言转换 (XSLT) 以及Jasper Reports等。这意味着开发者可以根据项目需求选择最适合的技术栈来构建应用的...
在已经集成了JSP的Spring环境中,我们有时会需要进一步集成Velocity,以利用其独特的优势,如更快的渲染速度和更清晰的逻辑分离。 集成Velocity主要涉及以下几个步骤: 1. **引入依赖**:首先,我们需要在项目中...
【fis3-jello】是基于【fis3】的一款前端工程化解决方案,特别针对【jsp】和【velocity】模板引擎进行了优化。fis3 是一个强大的前端集成解决方案框架,旨在提升前端开发效率,实现自动化构建、资源管理和优化。而...
本话题将详细讲解如何在Spring MVC框架中整合Velocity和JSP,实现多视图解析器的功能,从而根据需求返回不同的视图。 **1. Velocity模板引擎** Velocity是一个开源的Java模板引擎,它允许开发者将业务逻辑与展示...
这个"简单的velocity工程"应该是包含了一个基本的Velocity模板语言(VTL)使用示例,便于初学者理解和实践。 Velocity工程的核心是Velocity模板文件(通常以`.vm`为扩展名),它与Java代码相结合,允许开发者将逻辑...
Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个模板引擎,它专注于视图层的呈现,可以替代传统的JSP(JavaServer Pages)来实现更加简洁、高效的页面渲染。 **Struts2框架** Struts2是...
JSP安全编程实例浅析、JSP编程进度条设计实例、JSP的运行内幕、JSP和IIS的最佳解决方案实例分析、jsp内置对象--session对象和out对象、JSP中request属性的用法、用WebWork、JSP、Velocity建立注册页面、在JSP中使用...
Velocity可以作为视图层的模板引擎,使得开发者可以通过简单的模板语言来生成动态HTML,而无需深入理解复杂的JSP语法。同时,Velocity Tools的附加功能进一步增强了Velocity的实用性。 在实际使用中,开发者需要将...
2. **性能提升**:由于Velocity不执行JSP的编译过程,所以渲染速度通常比JSP快。 3. **易维护**:Velocity模板更容易阅读和维护,降低了开发者的学习成本。 总之,Velocity作为模板引擎,因其简洁、高效和易于整合...
在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity 作为 View,模板技术作为 View 的好处是很多,尤其和 JSP 比较起来优点更大。 Velocity 和 Freemarker 都是开源的模板技术,它们都提供了强大的功能...
**Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网站内容。Velocity被设计成一个轻量级的、快速的、非侵入式的模板语言,使得开发者能够将HTML页面的展示...
【 Velocity 插件详解】 Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的...
`eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持的Eclipse插件,如Velocity视图插件,它能提供模板语法高亮和代码完成等功能,提高开发效率。 为了正确...
这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....
### Velocity与FreeMarker的区别 在IT领域特别是Java开发中,模板引擎是不可或缺的一部分,它们用于将数据模型转换为HTML、PDF、Word文档等格式。在众多模板引擎中,Velocity和FreeMarker是两种非常受欢迎的选择。...
相比于 JSP,Velocity 具有以下优点: * 便于维护:Velocity 的模板语言易于理解和维护,减少了开发和维护成本。 * 高效开发:Velocity 提供了一个灵活的模板语言,能够快速生成动态内容,提高开发效率。 * 跨平台...
2. **velocity-1.4.jar**:这是Velocity的主要库文件,包含了 Velocity Engine的核心实现。它负责解析模板,执行嵌入的Java代码,并生成最终的输出。版本1.4是一个较早的版本,但依然稳定且广泛使用。其中包含了许多...
在Struts 1.x版本中,视图通常由JSP页面来实现,但也可以使用Velocity模板来替代,因为Velocity提供了更简洁的语法和更好的性能。 在集成Velocity之前,我们需要确保我们的环境已经配置了Struts 1.x和Velocity。这...