FreeMarker概述

FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写

FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件

FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境

FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库

FreeMarker是免费的

FreeMarker特性

1、通用目标

能够生成各种文本:HTML、XML、RTF、Java源代码等等

易于嵌入到你的产品中:轻量级;不需要Servlet环境

插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等

你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器

2、强大的模板语言

所有常用的指令:include、if/elseif/else、循环结构

在模板中创建和改变变量

几乎在任何地方都可以使用复杂表达式来指定值

命名的宏,可以具有位置参数和嵌套内容

名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突

输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换

3、通用数据模型

FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示

你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰

4、为Web准备

在模板语言中内建处理典型Web相关任务(如HTML转义)的结构

能够集成到Model2 Web应用框架中作为JSP的替代

支持JSP标记库

为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员

5、智能的国际化和本地化

字符集智能化(内部使用UNICODE)

数字格式本地化敏感

日期和时间格式本地化敏感

非US字符集可以用作标识(如变量名)

多种不同语言的相同模板

6、强大的XML处理能力

<#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树

在模板中清楚和直觉的访问XML对象模型

FreeMarker 简介相关推荐

  1. FreeMarker简介及其语法

    1.Freemarker简介        FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的.模板用servlet提供的数据动态地生 ...

  2. Freemarker 简介 及手册

    FreeMarker 手册 什么是FreeMarker? FreeMarker是一款模板引擎:即一种基于模板.用来生成输出文本(任何来自于HTML格式的文本用来自动生成源代码)的通用工具.它是为Jav ...

  3. freemarker简介

    转自:(http://blog.csdn.net/chenghui0317/article/details/7832474)作者:永恒の_☆ 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 ...

  4. Java模板引擎之freemarker简介

    转载于:https://www.cnblogs.com/hwgok/p/9590375.html

  5. freemarker ftl模板_Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

    今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...

  6. FreeMarker的优点和缺点

    FreeMarker的优点和缺点 标签: FreeMarker优点 FreeMarker缺点 模板引擎 struts2 一. FreeMarker简介 FreeMarker是一个用Java语言编写的模 ...

  7. SpringBoot2.x 集成 FreeMarker

    本文主要对SpringBoot2.x集成FreeMarker及其常用语法进行简单总结,其中SpringBoot使用的2.4.5版本. 一.FreeMarker简介 Apache FreeMarker™ ...

  8. FreeMarker 网页静态化

    1.FreeMarker入门 1.1 FreeMarker简介 1.2 FreeMarker官方文档 官方中文文档:http://freemarker.foofun.cn/toc.html 官方文档: ...

  9. freemarker简单使用

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

最新文章

  1. C#语言与面向对象技术(3)
  2. 测试两个主机之间的连通性_UCloud 全链路大规模网络连通性检测系统详解
  3. iOS:quartz2D绘图 (动画)
  4. H3C交换机S5500系列恢复控制台登录口令
  5. 机器学习笔记(十一)——逻辑回归
  6. python自学笔记_Python 自学笔记
  7. f5源站获取http/https访问的真实源IP解决方案
  8. 源码编译Ros, Ubuntu18.04系统使用源码编译Ros1,出错集合及其解决办法
  9. 使用主题来自动包装控件样式
  10. 打断点是什么意思_英语微课堂:“Give me a break”是什么意思呢?
  11. apollo 横纵向控制改成MPC控制方式
  12. 南京大学2019计算机学院复试名单,南京大学计算机科学与技术系2019考研复试名单...
  13. 干货分享!一份你不知道的武汉Web前端开发学习攻略
  14. C语言中access的使用
  15. PHP生成压缩包 (并下载)【解决压缩包下载,提示压缩包损坏】
  16. php 以自动打字程序,使用vbs脚本实现自动打字祝福与搞笑实现代码
  17. 撩妹代码html,Web前端
  18. 如何在sql内写循环语句
  19. 什么是MES系统软件,如何用大白话理解MES,公司有了ERP还有必要上MES吗?
  20. 那些解释起来很蛋疼的IT工种

热门文章

  1. 【管理与控制】干线控制
  2. 学徒浅析Android——Android原生下载机制针对0K大小文件下载异常的分析
  3. springcloud五大神兽之Feign
  4. NodeJs string与base64互转
  5. 用无人机撑伞?日本人脑洞真大
  6. kafka如何扩容分区Partition、并重新分区
  7. pete shinners_Hanselminutes播客155-带有Silverlight 3的C64模拟器,作者:Pete Brown
  8. 头一回见!提升10倍效率,阿里给业务校验平台插上了AI的翅膀
  9. 大数据的Hadoop架构有哪些优势?
  10. 使用 Python 将 MP4视频 转换为GIF动画