`
hell_liul
  • 浏览: 41279 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

freemarker的优缺点及简单实例

    博客分类:
  • java
阅读更多
一、 什么是FreeMarker
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。
所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位符部分的内容。
FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 文等。

二、 FreeMarker的优点和缺点
(一) FreeMarker的优点
1.使用FreeMarker的优点之一,可以彻底的分离表现层和业务逻辑。
使用JSP 开发过程中在页面中大量的存在业务逻辑的代码,使得页面内容凌乱,在后期大量的修改维护过程中就变得非常困难。
FreeMarker根本不支持Java脚本代码。
FreeMarker的原理就是:模板+数据模型=输出,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由数据模型来处理的。用户最终看到的输出是模板和数据模型合并后创建的。

2.使用FreeMarker的优点之二,可以提高开发效率。
在我们以往的开发中,使用的都是JSP 页面来展示数据的,即所谓的表现层。我们都知道,JSP在第一次执行的时候需要转换成Servlet类,开发阶段进行功能调适时,需要频繁的修改JSP,每次修改都要编译和转换,那么试想一天中我们浪费在程序编译的时间有多少。相对于JSP来说,FreeMarker模板技术不存在编译和转换的问题,所以就不会存在上述问题。而且开发过程中,我们在不必在等待界面设计开发人员完成页面原形后,我们再来开发程序。

3.使用FreeMarker的优点之三,使得开发过程中的人员分工更加明确。
以往用JSP展现数据时,作为程序员的我们,并不熟悉界面设计技术,反之界面开发人员,也并不熟悉程序语言。对两者而言,交替性的工作本身就有难度。有时候稍有不慎,可能会将某个页面元素删除或去掉了某个程序符号,使得页面走样或程序错误,这样就需要双方相互沟通协作,解决出现的问题。有时候因为项目中的时间,任务量等因素的存在,可能这个工作就由一个人来完成,这样就可能加大某一方开发人员的工作量。
使用FreeMarker后,作为界面开发人员,只专心创建HTML文件、图像以及Web页面的其他可视化方面,不用理会数据;而程序开发人员则专注于系统实现,负责为页面准备要显示的数据。

(二)FreeMarker的缺点
1.使用FreeMarker的缺点之一,应用FreeMarker模板技术,在修改模板后,可能会看到已经过期的数据。如:生成静态的HTML页面后,如果一旦模板改变,而没有及时更新模板生成的HTML页面的话,用户看到的就是过期的数据。
2.使用FreeMarker的缺点之二,FreeMarker模板技术在应用过程中,FreeMarker中的变量必须要赋值,如果不赋值,那么就会抛出异常。想避免错误就要应用if/elseif/else 指令进行判段,如果对每一个变量都判断的话,那么则反而增加了编程的麻烦。
3.使用FreeMarker的缺点之三,FreeMarker的map限定key必须是string,其他数据类型无法操作
4.使用FreeMarker的缺点之四,FreeMarker不支持集群应用。为了编成的方便性,把序列化的东西都放到了Session中,如Session,request等,在开发的过程中确实方便,但如果将应用放到集群中,就会出现错误。

  • free.rar (3.2 MB)
  • 描述: freemarker的应用
  • 下载次数: 269
分享到:
评论

相关推荐

    FreeMarker 2.3.18

    - **基本语法及实例**:`freemarker基本语法及实例.mht`提供了一些基础示例,帮助初学者快速上手。 3. **FreeMarker的优点和缺点**: - **优点**:FreeMarker易于学习,模板语言简洁,支持多种数据类型,与Java...

    18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】

    5. **比较与选择**:讨论Thymeleaf和FreeMarker的优缺点,帮助学习者理解在什么情况下选择哪种模板引擎更为合适。 6. **最佳实践**:提供一些使用模板引擎的最佳实践,比如如何优化模板性能,如何更好地组织模板...

    框架的优缺点

    【框架的优缺点】 在IT领域,框架是开发者构建应用程序的基础结构,它们提供了一套预定义的规则和组件,帮助简化开发过程。本篇文档主要探讨了三大主流框架——Struts1、Struts2和Spring的优缺点,尤其是对SSH...

    深入浅出FreeMarker(一)-基础教程.pdf

    在进行FreeMarker的开发指南方面,文档提到5分钟内就能入门,举了如何在springmvc中配置FreeMarker的例子。这包括在web.xml中配置监听器和servlet,以及在dispatcher-servlet.xml中配置FreeMarker的bean,包括...

    freemarker生成pdf

    1. **模板语言**:Freemarker使用简单的文本模板语言,允许开发者在模板中插入变量和控制结构,如条件语句和循环。例如,`${variable}`用于插入变量值,`<#if>`、`<#else>`、`<#elseif>`用于条件判断,`<#foreach>`...

    Freemarker开发指南

    Freemarker 的优势与缺点 ##### 6.1 优势 - **灵活性**: 可以处理复杂的数据结构。 - **性能**: 相对于 JSP,Freemarker 的性能更好。 - **分离性**: 清晰地分离了视图和逻辑,易于维护。 ##### 6.2 缺点 - **...

    struts-menu实例

    Struts-menu是一个专门为Apache Struts框架设计的菜单生成库,它可以帮助开发者在Web应用程序中创建动态、层次化的...记得将实例中的三种实现方式逐一尝试,以便深入理解它们各自的优缺点,并根据项目需求进行选择。

    struts详细文档讲解及实例

    一个简单的登录实例包括以下步骤: 1. 创建ActionForm:定义登录表单字段,如用户名和密码。 2. 编写Action:实现登录逻辑,如验证用户名和密码,然后根据结果设置Action的Forward属性。 3. 配置struts-config.xml:...

    20个JSP网页开发例子

    20个例子可能涵盖了从简单的“Hello, World!”到更复杂的用户登录、注册、数据展示和处理表单提交等场景。每个例子都是一个学习点,通过实际操作,可以帮助初学者理解JSP的工作原理和最佳实践。 通过实践这些JSP...

    SSH 咯框架的原理

    本文将详细解析Struts1和Struts2框架的工作原理以及它们的优缺点。 首先,我们来看看Struts1的工作原理。Struts1是一个基于Model-View-Controller(MVC)设计模式的框架。当用户发起请求时,ActionServlet作为框架...

    h5perf:SpringBoot集成的Swagger2,Mybatis,德鲁伊,Groovy,Freemarker,WebJars实例工程

    缺点是很明显的:在继承开发过程中,API会变更,这样文档需要同步修改。繁琐。不及时更新,就会出生调用方没有及时了解到API签名的变化,导致突破的沟通很容易成本。 微服务时代,效率第一。 使用Swagger可以在部署...

    Java Web struts1.0+2.0篇章实例

    在本篇章实例中,我们将探讨Struts 1.0和2.0两个版本,了解它们的核心概念、优缺点以及如何在实际项目中应用。 首先,让我们来看看Struts 1.0。它于2001年发布,是最早的Java Web MVC框架之一。Struts 1.0的核心...

    Java web framework 比較

    描述:本文将对Java Web开发中的主流框架进行比较,包括Struts、Spring MVC、WebWork、Tapestry和JSF,分析各自的优缺点,以帮助开发者选择最适合项目需求的框架。 ### Struts #### 优点: - **标准框架**:在业界...

    前端模板引擎Mustache教程.zip

    4. "Mustache模板技术,一个比freemarker轻量级的模板引擎 - cnhome的专栏 - CSDN博客":对比了Mustache和Freemarker,有助于理解它们各自的优缺点,以及在不同场景下的选择。 5. "mustache.js的使用说明 - ...

    web开发框架总结

    在IT行业中,Web开发框架是构建高效、可维护和可扩展的Web应用程序的关键工具。本篇文章将对几个主流的Java Web开发框架进行深入探讨,包括...同时,了解各种框架的优缺点和适用场景,有助于做出更明智的技术选型决策。

    Struts2文档笔记

    6. **Struts2的优缺点** 优点:易学易用,灵活性高,扩展性强,良好的错误处理机制,支持多种视图技术。 缺点:配置较为复杂,尤其是对新手来说,社区活跃度相对较低,安全漏洞需定期关注。 7. **学习资源与实践*...

    Java框架面试题总结.pdf

    在Java开发中,框架是...以上是Java框架Struts的一些核心面试知识点,涵盖其工作原理、MVC设计模式的应用以及优缺点分析。理解这些内容对于Java开发者来说至关重要,尤其在面试时能展现出对框架深入的理解和应用能力。

    jsp写的博客系统源码

    7. **JSP的优缺点** 优点: - 易于学习:HTML和Java代码混合,对前端开发者友好。 - 自动编译:无需手动编译,便于快速调试。 - 动态内容:可以直接在HTML中嵌入Java代码,方便处理动态数据。 缺点: - 代码...

    SpringMVC的相关问题.docx

    Spring MVC 是Spring Framework的核心组成部分,它是...以上就是关于Spring MVC的一些关键知识点,包括它的架构、工作原理、优缺点以及与其他框架的对比。理解这些内容有助于更好地使用和设计基于Spring MVC的Web应用。

Global site tag (gtag.js) - Google Analytics