`
yjmyd1119
  • 浏览: 11502 次
  • 性别: 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应用程序一段时间,那么对于 JVM 的 PermGen 问题可能并不陌生。由于 FreeMarker 模板不编译成类,它们不占用 PermGen 空间,并不需要一个新的类...

    超完整FreeMarker中文教程,代码

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

    FreeMarker技术指南

    二、FreeMarker与JSP、Velocity的对比 三、一个简单的FreeMarker Demo 四、FreeMarker的数据模型 五、模板的常用指令 六.常用的FTL标记 七、内建函数: 八、FreeMarker macro(宏)的使用 九、通过Struts2设置type来...

    FreeMarker 手册

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

    Spring Boot整合邮件发送并保存历史发送邮箱

    和上面对比,这次发送邮件使用 MimeMessageHelper 类。MimeMessageHelper 支持发送复杂邮件模板,支持文本、附件、HTML、图片等,接下来我们会继续使用。 (3)发送带附件的邮件 在 MailService 添加 ...

    前端HTML模板解析引擎domTemplate.js.zip

    美工设计好静态HTML文件,交给后端工程师,需要转换成Jsp、Freemarker、Velocity等动态模板文件。这种模式有几个缺点 1、动态模板文件不能被浏览器解释、必须要运行在服务器中才能显示出效果 2、动态效果和静态...

    Beetl模板引擎-其他

    通过与主流模板引擎Freemarker,Velocity以及JSP对比,Beetl均远高于前面三个,这是因为宏观上,通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上,通过一维数组保存上下文,合并静态文本,通过...

    java8stream源码-migo-security:一个轻量级权限管理系统,包含:管理员管理、角色管理、菜单管理、定时任务、参数管理、代码

    支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...

    java8源码-migo:我朋友

    支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...

    java8源码-migo-security-master:migo-security-master权限系统管理

    支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...

    java8源码-csmp-view:shouci

    支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...

    java8源码-miniAuthoritySystem:权限系统

    支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...

Global site tag (gtag.js) - Google Analytics