1. FreeMarker是一款模板引擎: 即一种基于模板和数据, 并用来生成输出文本(HTML网页, 电子邮件, 配置文件, 源代码等)的通用工具。它是一个Java类库, 是一款程序员可以嵌入他们所开发产品的组件。

2. 模板编写为FreeMarker Template Language(FTL)。它是简单的, 专用的语言, 不是像PHP那样成熟的编程语言。那就意味着要在真实编程语言中准备数据, 比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中, 你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

3. 这种方式通常被称为MVC(模型 视图 控制器)模式, 对于动态网页来说, 是一种特别流行的模式。它帮助从开发人员(Java程序员)中分离出网页设计师(HTML设计师)。设计师无需面对模板中的复杂逻辑, 在没有程序员来修改或重新编译代码时, 也可以修改页面的样式。

4. FreeMarker最初的设计, 是被用来在MVC模式的Web开发框架中生成HTML页面的, 它没有被绑定到Servlet或HTML或任意Web相关的东西上。它也可以用于非Web应用环境中。

5. 中午文档: http://freemarker.foofun.cn/index.html。

6. 下载jar包

6.1. 网址: https://freemarker.apache.org/index.html。

6.2. 点击Download

6.3. 点击Binary release (tar.gz)下载jar包

6.4. 点击https://mirrors.tuna.tsinghua.edu.cn/apache/freemarker/engine/2.3.31/binaries/apache-freemarker-2.3.31-bin.tar.gz链接下载jar包

6.5. 下载完成, 进入jar包查看, 找到freemarker.jar

6.6. 点击Source release (tar.gz)下载源码包

6.7. 点击https://mirrors.tuna.tsinghua.edu.cn/apache/freemarker/engine/2.3.31/source/apache-freemarker-2.3.31-src.tar.gz链接下载源码包

6.8. 下载完成, 进入源码包查看, 在src目录下就是freemarker的Java源码

001_FreeMarker介绍相关推荐

  1. 简单介绍互联网领域选择与营销方法

    在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...

  2. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  3. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  4. pytorch学习笔记(九):PyTorch结构介绍

    PyTorch结构介绍 对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型 和数值相关的 T ...

  5. Python字节码介绍

    了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代 ...

  6. Pytest - 使用介绍

    1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...

  7. 遗传算法的简单介绍以及模式定理的简单证明

    遗传算法   遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...

  8. k8s核心组件详细介绍教程(配超详细实例演示)

    本文实验环境基于上篇文章手把手从零开始搭建k8s集群超详细教程 本文根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps学习总结而来 k8s核心组件介绍 1 ...

  9. Tensorrt一些优化技术介绍

    Tensorrt一些优化技术介绍 Figure 1. A quantizable AveragePool layer (in blue) is fused with a DQ layer and a ...

最新文章

  1. 海贼王热血航线正在连接服务器,《航海王热血航线》无法进入原因和解决方法 进不去如何解决...
  2. 什么是MyCat?为什么要用到MyCat呢?
  3. 解决 Successfully created project '' on GitHub, but initial push failed: Could not read from remote re
  4. 弹出框页面中使用jquery.validate验证控件
  5. python-基础-代码备注与变量命名方法
  6. Android学习之在Eclipse看源代码的技巧
  7. 阻止xap文件在浏览器中缓存
  8. axios取消请求_解决网站恶意频繁点击问题---axios工作笔记011
  9. springboot 配置mybatis
  10. “云桥”通往存储中心极速世界的通道
  11. element中file-upload组件的提示‘按delete键可删除’,怎么去掉
  12. 攻防世界 easyphp
  13. [经验教程]拼多多退店保证金多久到账 拼多多退店正确操作35天内保证金到账
  14. Windows 10 1909 (Updated 2020-01-23)
  15. 王者nba服务器维护,王者NBA新手常用问题FAQ大全
  16. 计算机爱好特长范文,【介绍个人性格爱好特长】_自我介绍(特长爱好)概述范文...
  17. QT生成动态链接库.so文件
  18. 每日一课 | 如何用Python编写一个Lisp解释器
  19. 19年职业院校技能大赛总结
  20. 兰讯76A3芯片TWS配对后灭灯

热门文章

  1. Apache Kylin Cube 的构建过程
  2. 面向对象的程序设计之原型模式
  3. SharePoint 2013 图文开发系列之创建内容类型
  4. 憋不住的心里的一个想法,JVM的BYTECODE是完全平台无关的么?
  5. 利用__FILE__, __LINE__, __FUNCTION__跟踪调试程序
  6. clientHeight ,offsetHeight,style.height,scrollHeight有区别与联系
  7. 水电收费系统开发日志(一)
  8. 限制内存用快排原理PHP
  9. 在小公司、中等规模公司和大公司工作有什么不同
  10. 你的云计算到底有多安全?