FreeMarker简要说明

前言:

在学习Freemarker的时候,发现其取值与EL表达式及其类似,于是我疑惑了,那在页面上取值是Freemarker还是el方式呢?所以百度了下,才知道,EL表达式是转为JSP而服务的,与其他页面无关。它的取值语法结构与Freemarker一样。

Freemarker是一个模板引擎,什么叫作模板引擎?

1、官方解释:

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

由官方对模板引擎的解释可知,Freemarker的最终目的是生成一个标准的html页面,一个显示给用户看的页面。

2、FreeMarker的作用

官方解释为:

(我的理解:FreeMarker是一个模板引擎:一个基于模板和动态数据基础上产生内容输出(包括:html Web页面,Email,参数文件,源代码等)的java库。模板通常使用FTL语义规则编写而成,FTL是一种简单、专业的模板语言(不像PHP一样,是一种成熟的编程语言)。你需要显示的数据可以在后台提前准备好(无论你后台使用什么语言还是算法),在模板上,你所需要集中的目标是:要呈现哪些数据而已。

这种方式通常用于MVC模式开发,它分离了Web页面的设计从后台编程中(通常是java开发)分离出来。设计者不用在模板中处理复杂的逻辑,并且改变页面不用开发这不得不更改或者重新编译代码了。

 当FreeMarker在MVC应用框架中主要用于创建html页面时,它没有绑定servlets或者html或者其他任何与Web相关的。它在无网络环境中也能使用。)

 

什么是html?

超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

 

(html的作用是用来定义一个页面,定义这个页面的显示效果,是一个静态页面,无法获取动态数据。如果想要页面数据为动态的话,就只能通过后台语言(如:java)进行设计,通过拼接字符串的方式输出。这种方式生成的页面导致用户界面与用户数据的交叉,使得代码繁杂而且不好维护,这样,就导致了模板引擎的产生。)

 

原文地址:https://www.cnblogs.com/qiuyun622/p/4686305.html