FreeMarker是一款模板引擎,一种基于模板的,用来生成输出文本的通用工具
FreeMarker的设计实际上是被用来生成HTML网页,尤其是通过基于实现了MVC模式的servlet应用程序
FreeMarker不适合编程,数据的准备可以靠java程序来准备,FreeMaker仅仅使用模板生成文本页面来显示已经准备好的数据。
Ftl页面
类似于jsp页面
<a href="${.......}">${name}</a>
这个模板是放在web服务器上,看上去像是静态页面,但是不管何时,只要有人访问这个页面,FreeMarker
将会介入执行,动态转换模板,用最新的数据内容替换Ftl页面中的${...}中的部分。生成普通的HTML文本。
模板指令规则
${...}: FreeMarker将会输出真实的值来替换花括号中的表达式(EL表达式)
Comments注释:用<#--和-->来分隔的
FTL tags标签一般以符号#开头
<#list java中的list集合名称 as 循环变量的名称>
</#list>
demo
<#list arraylist as eml>
<input tape="text">${eml.name}</input>
</#list>
程序开发
Configuration cfg = new Configuration(); //创建配置实例
cfg.setDiractoryForTemplateLoading( new File("")); //指定模板文件从何处获取数据源
Template temp = cfg,getTemplate("demo.ftl"); //获取模板
创建数据模型
数据模型可以通过map集合或javaBean的方式封装
比如类中有:全局变量User = wuchen;
Person p = new Person();//person 中有age 和id 属性
对应的数据模型创建方法如下:
Map root = new HashMap();
root.put("user","wuchen");
Map person = new HashMap();
person.put("age","23");
person.put("id",3);
root.put("person",person);
把模板和数据模型合并
我们知道,数据模型+模板 = 输出,以上已经获取到了模板(temp)和数据模型(root),可以合并输出了
temp.process(root,outStream);
outStream.flush();
分享到:
相关推荐
Freemarker页面语法 A 概念 最常用的 3 个概念 sequence 序列,对应java 里的list 、数组等非键值对的集合 hash 键值对的集合 namespace 对一个ftl 文件的引用, 利用这个名字可以访问到该ftl 文件的资源 ...
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:...
安装freemarker插件(freemarker的eclipse插件) a) 首先下载 freemarker-ide-0.9.14.zip(在这里不用下载了,附件中已经有了) b) 解压后:把hudson.freemarker_ide_0.9.14这个文件放到:eclipse\plugins下面 c) 发现...
一篇freemarker很不错的文章 reeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用...
什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................
3. freemarker(FreemarkerUtils) 对于没有使用宏、函数等word、excel,需要按模板动态生成word、excel、html,只需要一个freemarker,先将word、excel、html等另存为**xml**,即可使用模板动态生成文件,目前xlsx是...
大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出‘.doc’ word文档。经测试这样方式生成的word文档完全符合office标准,...
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:...
FreeMarker
基于Java语言来导出Word文档的方式也有很多种,如Jacob,Apache POI,Freemarker,PageOffice,java2word 等等。。。。 在这里将通过Freemarker这个模板引擎来实现导出 Word,项目不限于Swing,SSH,SSM,Spring ...
freemarker格式化的eclipse插件。用于freemarker的格式化。
freemarker替换变量实例
在开发web项目的时候使用到的页面展现技术,它并...总体,该文档能够提供所有常用的freemarker操作,示例和简略的讲解可以让人一下子就能上手,效率极高。 适合做快速查阅册子,同时也非常适合初学者和骨灰开发者使用。
赠送jar包:freemarker-2.3.23.jar; 赠送原API文档:freemarker-2.3.23-javadoc.jar; 赠送源代码:freemarker-2.3.23-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.23.pom; 包含翻译后的API文档:...
FreeMarker中文文档.pdf FreeMarker入门必修
2.将xml中需要动态修改内容的地方,换成freemarker的标识符 添加图片 如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档,可 以看到如下的一片base64编码后的代码: ...
FreeMarker在Eclipse安装 1.将插件hudson.freemarker_ide_0.9.14文件夹放到eclipse下的plugins文件夹下 按理,这样的话,重启eclipse就应该解决了 但是不成 因为hudson.freemarker_ide_0.9.14文 件夹下的...