FreeMarker简介及插件安装

简介:

参考:http://www.oschina.net/p/freemarker


一、简介

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

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

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



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

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

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

FreeMarker是免费的

而且你还可以通过Eclipse的插件来编辑FreeMarker,经过验证,FreeMarker 最好的 Eclipse 编辑插件是 JBoss Tools

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对象模型

开源论坛 JForum 就是使用了 FreeMarker 做为页面模板。

Javadoc:http://www.osctools.net/apidocs/apidoc?api=freemarker


二、Eclipse插件安装配置

有关插件安装的官方指导,请参考:


对于 Eclipse (tried with 3.x)  请下载以下插件,并解压到eclipse的plugins目录下,重启eclipse即可。
点击下载:fm-eclipse-help.tar.gz


对于Eclipse 3.2.1+,freemaker插件已经作为jboss tools的一个子集。你可以单独安装其中的freemaker插件。

a、针对eclipse不同版本,获取update site地址。

Update Sites

To install via update site, simply right-click the link below from which you'd like to install, copy the link, and paste it into Eclipse's Update or Install Manager. See Installing JBoss Tools for more information.











以eclipse4.2 为, update site地址为:http://download.jboss.org/jbosstools/updates/stable/juno/


2、选择单独安装freemaker插件






安装完成后,重启下eclipse即可。


相关文章
|
JSON 前端开发 JavaScript
富文本编辑器Ueditor实战(三)-springboot集成
通过本文,您可了解springboot如何集成ueditor,如何自定义扩展后端的文件上传功能。
705 0
富文本编辑器Ueditor实战(三)-springboot集成
|
17天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
36 1
SpringBoot入门(7)- 配置热部署devtools工具
|
29天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
40 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
7月前
|
移动开发 运维 前端开发
SpringBoot 整合 Thymeleaf & 如何使用后台模板快速搭建项目
SpringBoot 整合 Thymeleaf & 如何使用后台模板快速搭建项目
125 0
|
Java 应用服务中间件 Maven
idea入门使用以及搭建web项目(下)
idea入门使用以及搭建web项目(下)
75 0
idea入门使用以及搭建web项目(下)
|
IDE 数据库连接 开发工具
idea入门使用以及搭建web项目(上)
idea入门使用以及搭建web项目(上)
144 0
IDEA配置HTML和Thymeleaf热部署开发
需求:现在我们在开发不分离项目的时候(SpringBoot+Thmeleaf)经常会改动了类或者静态html文件就需要重启一下服务器, 这样不仅时间开销很大,而且经常重复会让人的做题速度麻木,那有没有保存即可自动部署的开发方式? 今天他来了。
115 0
|
消息中间件 JavaScript 小程序
SpringBoot 中 MybatisX 插件的简单使用教程(超详细!!)
SpringBoot 中 MybatisX 插件的简单使用教程(超详细!!)
|
Java
SpringBoot整合Swagger2管理文档的使用、汉化
SpringBoot整合Swagger2管理文档的使用、汉化
95 0
|
XML 移动开发 前端开发
【JavaWeb】Thymeleaf的简介与使用(上)
【JavaWeb】Thymeleaf的简介与使用(上)
【JavaWeb】Thymeleaf的简介与使用(上)