Fmpp
的安装和使用
1.
fmpp
的简绍
FMPP
是个从各种数据源,如
CSV
文件,数据库,或者它自己定义的
TDD
格式的文件中读取数据,按照
Freemarker
的模版中,生成想要的最终文件。
FMPP
的最常用的应用是“网页预生成”和“代码生成器”
1)
例如我们在做一些项目的
demo
中,需要做一个表格
table
,如果我们只是简单的用
html
的话,需要一行一行的复制,而通过
Freemarker
的
list
命令可以遍历
fmpp
的数据源,只需要一行代码就可以搞定。上面举的只是最简单的例子
2)
我们项目中的基类的
dao
、
service
、
action
其实都是相同的,只是名称不同而已,如此多
dao
、
service
其实就是各个文件的名称不同而已,所以可以通过
freemarker
指定
dao
、
service
、
action
的模板,
fmpp
提供数据和配置参数来动态生成那些文件
Freemarker
官网:
http://freemarker.org
Fmpp
官网:
http://fmpp.sourceforge.net/
2.
fmpp
的安装
1)
下载完成后解压文件把他放到
e
盘
![](http://dl.iteye.com/upload/attachment/0070/9060/f49e89f8-adcb-33af-9909-49ac42daec76.jpg)
2)
配置环境变量
FMPP_HOME(
注意解压的位置一定不要有空格,通常人喜欢放到
C:\Program Files
,里面就有空格,在执行命令时会出现问题的
)
![](http://dl.iteye.com/upload/attachment/0070/9062/302860bf-4307-362c-9cb5-d9d8a5ea2e9f.jpg)
3)
在环境变量
path
中添加
%FMPP_HOME%\bin
![](http://dl.iteye.com/upload/attachment/0070/9064/e9c9194e-cbf2-3c37-830a-db84242d46a6.jpg)
3.
fmpp
的测试
1)
在
e
盘创建
fmpptest
文件夹,并创建
data
、
src
、
out
文件夹
![](http://dl.iteye.com/upload/attachment/0070/9067/a098f255-79ad-3c43-96e1-b883191275fc.jpg)
说明
:
data
放的是数据文件位置
src
是模板文件位置
out
是输出文件位置
2)
创建如下文件
E:\fmpptest\data\helloworld.tdd
E:\fmpptest\src\helloworld.ftl
E:\fmpptest\config.fmpp
helloworld.tdd
的内容为:
{
user: "
流浪鱼
"
workUnit:"
中百信
"
}
helloworld.ftl
的内容为:
<html>
<head>
<title>fmpp
生成
html
页面测试
</title>
</head>
<body>
<h1>
欢迎
${user}!</h1>
<p>
你工作的单位是
${workUnit}</p>
</body>
</html>
config.fmpp
的内容为:
sourceRoot: src
outputRoot: out
logFile: log.fmpp
modes: [
execute(*.ftl)
]
replaceExtensions: [ftl, html]
sourceEncoding: gb2312
data: tdd(../data/helloworld.tdd)
4.
在
cmd
命令行下切换到
E:\fmpptest
目录下,执行
fmpp
命令
![](http://dl.iteye.com/upload/attachment/0070/9069/5e6cfe9f-6902-3da9-abee-57861fc96d64.jpg)
会在
out
目录下生成
helloworld.html
文件
![](http://dl.iteye.com/upload/attachment/0070/9071/68dbf23a-d2f9-39d5-9f8c-2e4918254386.jpg)
5.
点击
helloworld.html
预览效果为
![](http://dl.iteye.com/upload/attachment/0070/9073/ede301f5-0ffd-31c8-992f-047bb20cfa83.jpg)
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9060/f49e89f8-adcb-33af-9909-49ac42daec76-thumb.jpg)
- 大小: 27.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9062/302860bf-4307-362c-9cb5-d9d8a5ea2e9f-thumb.jpg)
- 大小: 15.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9064/e9c9194e-cbf2-3c37-830a-db84242d46a6-thumb.jpg)
- 大小: 15.9 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9067/a098f255-79ad-3c43-96e1-b883191275fc-thumb.jpg)
- 大小: 18.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9069/5e6cfe9f-6902-3da9-abee-57861fc96d64-thumb.jpg)
- 大小: 21.7 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9071/68dbf23a-d2f9-39d5-9f8c-2e4918254386-thumb.jpg)
- 大小: 14.4 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0070/9073/ede301f5-0ffd-31c8-992f-047bb20cfa83-thumb.jpg)
- 大小: 15.9 KB
分享到:
相关推荐
本文将深入探讨“Fmpp+Ant生成类文件”这一主题,结合提供的标签“源码”和“工具”,我们将理解如何利用这两者进行高效地编译和构建。 Fmpp(FreeMarker Macro Processor)是一款强大的文本模板语言,它主要用于...
例如,Freemarker支持条件语句(`<#if>`、`<#else>`)、循环结构(`<#list>`)、宏定义(`<#macro>`)以及各种内置函数和方法,这些都可以在FMPP Plus中直接使用。 **新功能解析** 1. **增强的数据模型支持**:...
类似于编程语言中的宏,FMPP支持定义和使用宏来简化代码,减少重复。同时,它还提供了流控制结构,如条件语句(if/else)、循环(for-each)等,便于根据条件对文本进行处理。 3. **表达式支持**: FMPP允许在...
sbt-fmpp 插件可使用模板生成scala / java代码。 使用完成处理。用法添加插件: addSbtPlugin("com.github.sbt" %% "sbt-fmpp" % "0.3") 在构建中启用插件: import fmpp.FmppPlugin._object build extends Build { ...
FreeMarker 是一个强大的模板引擎,主要用于将数据模型与模板结合,生成动态文本,尤其是在Web...同时,FMPP作为FreeMarker的预处理器,为模板的调试和预览提供了便利,使得非程序员也能参与到动态页面的设计和测试中。
总结来说,通过使用gulp集成Java FreeMarker开发环境,开发者可以实现模板的预处理、编译,同时享受到资源管理和自动化带来的便利,提高开发效率,保证代码质量和项目的顺利进行。这不仅是前端开发的一种高效实践,...
它在Java环境中运行,被广泛应用于Web应用中...综上,"Text_FreeMarker"可能包含了一些FreeMarker的示例模板、数据模型和使用说明,通过学习这些内容,你可以更好地理解和应用FreeMarker来创建动态网页和生成文本输出。
它与Lucene和Heritrix的关系可能在于,FMPP可以用来自动化生成配置文件或者索引展示页面,这样在构建搜索引擎时可以提高效率和一致性。 总结一下,Lucene和Heritrix是构建搜索引擎的关键组件。Lucene负责高效地索引...
它与Web应用框架无关,可用于任何需要将数据与静态模板结合生成文本的场景,包括但不限于Web开发。 Freemarker的核心思想是...通过学习和使用Freemarker,开发者可以构建出更加灵活和可扩展的Web应用或文本生成系统。
Ant Task手册
它提供了丰富的语法结构和控制结构,使得开发者能够轻松地将数据模型与显示逻辑分离,从而实现灵活的模板设计。以下是对Freemarker基本语法和特性的详细说明: 1. **基本语法结构**: - `<#...>`:这是Freemarker...
变量定义和输出通常使用`${var}`,其中`var`是变量名,会被其对应的值替换。 2. **控制结构**: - **条件判断**:`<#if condition><#elseif condition><#else></#if>`用于条件语句。 - **遍历**:`...
FMPP是Freemarker的一个辅助工具,可以扩展Freemarker的功能,如处理多种输入格式和执行预处理步骤。 6. **应用实例** 通过处理XML文件的例子,可以直观地展示Freemarker的强大之处。例如,你可以使用Freemarker...
2. **安装Fmpp**:Fmpp是一个Freemaker的辅助工具,可以增强其功能。下载地址为http://fmpp.sourceforge.net/ 。 #### 六、示例 为了更好地理解Freemaker的工作原理,我们可以通过一个简单的XML文件示例来展示如何...
在使用Freemaker之前,需要下载并安装相关的工具: - **Freemaker**: [官方网站](http://freemarker.sourceforge.net/) - **Fmpp**: 一个辅助工具,可增强Freemaker的功能,[官方网站]...
FMPP is a general-purpose text file preprocessor tool that uses FreeMarker templates. It is particularly designed for HTML preprocessor, for the generation of complete (static) home-pages: directory ...
上图是ftl文件解析的过程,输入ftl模板和对应java对象,经过freemarker.jar包解析后,得到输出文本;这个是我们在前后端分离前,运行java web服务执行的过程;那么,我们想脱离java web端逻辑来执行这个过程,该...