FreeMarker的优点和缺点 标签: FreeMarker优点 FreeMarker缺点 模板引擎 struts2 一、 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等,在开发的过程中确实方便,但如果将应用放到集群中,就会出现错误。 通过以上的阐述,希望可以令您清晰FreeMarker的优点和缺点,旨在抛砖引玉。有什么问题可以留下您的宝贵留言,我非常愿意与大家讨论。

FreeMarker的优点和缺点相关推荐

  1. FreeMarker优点和缺点与使用FreeMarker的10个理由

    首先给大家简单介绍一下FreeMarker.FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Serv ...

  2. SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图

    什么是Freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而 ...

  3. 机器学习算法的优点和缺点总结

    机器学习算法的优点和缺点总结 1.正则化算法(Regularization Algorithms) 它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好 ...

  4. 网页静态化技术Freemarker

    网页静态化技术Freemarker 一.Freemarker的基本介绍 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道 ...

  5. FreeMarker中的list集合前后台代码

    freemarker中的list集合前后台代码: FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它 ...

  6. MyEclipse安装Freemarker插件

    以下是安装Freemarker插件并设置MyEclipse使用该插件的步骤: 1.下载Freemarker插件 打开http://sourceforge.net/projects/freemarker ...

  7. eclipse lombok插件安装_Eclipse-安装Freemarker插件

    引言 我们在使用 Eclipse 开发 Java Web 程序时会使用 Freemarker 模板引擎,以帮助我们快速.便捷和结构化的创建页面,但是 Eclipse 显示生成的*.ftl文件如同在普通 ...

  8. Java项目:后台管理系统脚手架项目(java+SpringBoot+FreeMarker+mysql+JSP)

    源码获取:博客首页 "资源" 里下载! 项目描述: 这是一个基于SpringBoot框架开发的后台管理系统脚手架项目.之所以称为脚手架项目,是因为这个项目复用性很强,如果以后有其他 ...

  9. Java项目:OA办公自动化系统设计和实现(java+springboot+freemarker+mysql+maven+mybatis+jpa)

    源码获取:博客首页 "资源" 里下载! java springbootOA办公自动化系统: 主要功能模块:系统.用户.角色.考勤.流程.公告.邮件.任务.日程.计划.文件.笔记.通 ...

最新文章

  1. TextLink的空格使用
  2. 前端技术周刊 2019-02-26:前端代码保护
  3. 验证码在服务器不显示
  4. 使用 Apache Pig 处理数据5
  5. CCleaner 2.11.636 - 系统优化和隐私保护工具
  6. docker 其他电脑访问权限_docker – 从远程计算机连接到容器
  7. Spring Boot 细节挖掘(全局异常处理)
  8. python创建虚拟环境失败_virtualenv 创建虚拟环境不成功
  9. Java笔记(十二) 文件基础技术
  10. 五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
  11. python如何删除对象_Python-从列表中删除对象
  12. 深度学习中的激活函数导引
  13. 杭州·云栖 2050 大会日程(5.25-5.27)
  14. 恩施机器人编程_恩施武汉机器人激光切割机
  15. 基于steam的游戏销量预测 — PART 3 — 基于BP神经网络的机器学习与预测
  16. linux下音乐转换软件下载,Ubuntu 下把Ape格式音乐转为Mp3格式
  17. 主仆渡河问题 ----python
  18. qr码生成_在PHP中生成QR码
  19. 中国建设银行信息技术岗笔试
  20. 【计算机图形学】期末大作业_虚拟场景建模

热门文章

  1. 2.1 物理层的基本概念
  2. MFC 内部组织结构(简单单文档)
  3. (软件工程复习核心重点)第六章实现和测试习题
  4. 第一章 QT Creator 简介
  5. C/C++静态库编译报错(/usr/bin/ld:cannot find -lpthread,/usr/bin/ld:cannot find -lc)
  6. notepad++以16进制查看文件
  7. char[] 和char*之间的相互转换
  8. 汇编程序—将一个全是字母,以0结尾的字符串,转化为大写
  9. vs2015开发人员命令提示工具 查看C++类对象模型
  10. vue新增属性是否会响应式更新?