`
yjmyd1119
  • 浏览: 11742 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

JSP 和FreeMarker 的对比

阅读更多

FreeMarker  的优点:

  1. FreeMarker 不依赖于Servlet ,网络或Web 环境;它仅仅是通过合并模板和Java  对

    象(数据模型)来生成文本输出的类库。你可以在任意地方任意时间来执行模板;

    不需要HTTP 的请求转发或类似的手段,也不需要Servlet 环境。出于这些特点你可

    以轻松的将它整合到任何系统中去。 
  2. 在模板中没有servlet 特定的范围和其它高级技术。FreeMarker 一开始就是为MVC
     设计的,它仅仅专注于展示。
     你可以从任意位置加载模板;从类路径下,从数据库中等。 
  3. 默认情况下,数字和日期格式是本地化敏感的。因为我们对用户输出,你所做的仅

    仅是书写${x},而不是<fmt:formatNumber value="${x}" />。你

     也可以很容易就改变这个行为,默认输出没有本地化的数字。
     易于定义特设的宏和函数。

     隐藏错误并假装它不存在。丢失的变量默认会引起错误,也不会默认给任意值。而

     且null-s 也不会默认视为0/false/空字符串。参见FAQ 第三点来获取更多信息。
  4. “对象包装”允许你在模板中以自定义,面向表现的方式来展示对象。(比如:参

      见XML 处理指南/必要的XML 处理/通过例子来学习部分,来看看使用这种技术时
      W3C  的DOM 节点是如何通过模板展现出来的。)

      宏和函数仅仅是变量(和JSP             的自定义标记工作方式来比较),就像其它任意值一

       样,所以它们可以很容易的作为参数值来传递,放置到数据模型中等。

      当第一次访问一个页面时几乎察觉不到的延迟(或在它改变之后),因为没有更高

      级的编译发生。
  5. FreeMarker  的缺点: 
  6. 不是一个标准。很少的工具和IDE 来集成它,少数的开发者知道它,很少的工业化

     的支持。(然而,如果没有使用.tag文件,JSP 标签库在FreeMarker 模板中工作

     不需要改变)

     因为宏和函数仅仅是变量,不正确的指令,参数名和丢失的必须变量仅仅在运行时
     会被检测到。

     除了一些视觉上的相似性,它的语法不同于 HTML/XML                      语法规则,这会使得新用

    户感到混乱。(这就是简洁的价值所在)

    不能和JSF 一起使用。(这在技术上可行,但是没有人来实现它)

    如果你认为可以用FreeMarker 来代替JSP ,你或许可以阅读这部分内容:程序开发指南
    /其他/在servlets  中使用FreeMarker/在“Model 2”中使用FreeMarker。
分享到:
评论

相关推荐

    jsp、freemarker、velocity简介和对比

    ### jsp、freemarker、velocity简介和对比 在Java Web开发领域,模板引擎是连接后端业务逻辑与前端展示层的重要桥梁。本文将重点介绍三种常用的Java Web模板引擎:JSP(Java Server Pages)、Freemarker以及...

    模板:velocity和freemarker的比较

    在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity 作为 View,模板技术作为 View 的好处是很多,尤其和 JSP 比较起来优点更大。 Velocity 和 Freemarker 都是开源的模板技术,它们都提供了强大的功能...

    FreeMarker概述2008

    对比其他模板引擎,如Velocity,FreeMarker的优势在于: 1. **更丰富的特性**:FreeMarker支持更多的操作,如数字和日期的算术运算和格式化,国际化处理,以及更复杂的循环和数组处理。 2. **更强大的模板控制**:...

    freemarker生成html

    #### 六、Freemarker与JSP对比 - **性能**:Freemarker生成静态HTML文件的方式比直接使用JSP更节省服务器资源。 - **可维护性**:使用Freemarker模板可以使前端代码更加整洁、易于维护。 - **灵活性**:Freemarker...

    FreeMarker中文参考手册

    JSP和FreeMarker的对比**:比较了JSP和FreeMarker的主要区别,帮助用户根据项目需求选择合适的工具。 以上内容总结了FreeMarker中文参考手册的主要知识点,涵盖了模板开发、程序开发、内建函数、指令使用以及一些...

    FreeMarker概述.pdf

    #### 四、FreeMarker与Velocity的对比 1. **概述**: - **简单性和轻量级**:Velocity是一个更为简单且轻量级的工具,但在功能和灵活性上不如FreeMarker。 - **模板创作任务**:使用Velocity时,可能需要额外的...

    freemarker-2.3.10.chm

    8. **与其他技术的集成**:例如,如何在Spring MVC框架中使用Freemarker,或者如何与Velocity、JSP等其他视图技术对比。 9. **API参考**:Freemarker API提供了丰富的函数和方法,用于操作模板、数据模型和输出结果...

    超完整FreeMarker中文教程,代码

    什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................

    关于JSP的资料

    虽然JSP在Web开发中占有一定地位,但随着Spring Boot、Thymeleaf、FreeMarker等现代框架的兴起,JSP的使用逐渐减少。这些框架提供了更高效、更灵活的模板引擎和更好的组织结构。 **总结** JSP是Java Web开发的重要...

    真正的Freemarker中文版教程

    对比Velocity,FreeMarker提供了更多功能: 1. FreeMarker的模板语言更强大,支持更多的算术运算和比较、日期/时间处理、国际化特性等。 2. FreeMarker的循环处理更灵活,允许跳出循环、访问循环控制变量、检测循环...

    jsp模板测试工程

    在这个测试工程中,作者可能对比了不同JSP模板引擎的性能和效率,以便选择最佳实践。 首先,我们需要了解JSP模板的基本概念。模板引擎是用于将静态模板和动态数据结合生成HTML或其他Web格式文档的工具。常见的JSP...

    Freemarker学习归纳

    - **JSP**:JSP是嵌入Java代码的模板,而Freemarker更强调分离关注点。 - **Thymeleaf**:Thymeleaf在静态HTML上添加属性,而Freemarker基于纯文本模板。 - **Velocity**:Velocity与Freemarker相似,但...

    jsp考试系统设计文档

    2. 模板引擎:如FreeMarker或JSTL,简化JSP页面的编写。 3. 数据库:MySQL,用于存储系统数据。 4. 开发工具:Eclipse或IntelliJ IDEA,辅助开发和调试。 5. 版本控制:Git,进行代码版本管理和协作。 五、开发流程...

    高级Java人才培训专家-02-Freemarker.pptx

    Freemarker与其他几种模板引擎技术进行了对比,包括JSP、Velocity和Thymeleaf: - **JSP**:专为Servlet设计,不能独立使用。 - **Velocity**:更新缓慢,自2010年发布2.0版本以来,7年内未有更新。Spring Boot官方...

    JSP应用开发详解

    - 易读性对比:JSP更便于编写和阅读,因为动态内容与静态内容混合在同一个文件中。 - 职责分离:在MVC(模型-视图-控制器)架构中,JSP通常作为视图层,Servlet作为控制层。 5. JSP中的内置对象 - request:代表...

    jsp转html

    4. **模板引擎**:如FreeMarker、Velocity等,它们可以在服务器端解析JSP中的逻辑,将其转换成HTML模板,从而实现JSP到HTML的转换。 5. **前端构建工具**:例如Webpack、Gulp、Grunt等,这些工具可以自动化处理JSP...

    FreeMarker 手册

    FreeMarker 手册 .......................................................................................................... 1 用于 FreeMarker 2.3.18 .......................................................

Global site tag (gtag.js) - Google Analytics