Java模板引擎FreeMarker系列之二helloword

Java FreeMarker 入门:从“Hello, World!”到深入探索 FreeMarker支持自定义标签,这可以让你创建自己的标签库。 阅读详情
HelloWord 吧 FreeMarker

下载freemarker

http://freemarker.sourceforge.net/freemarkerdownload.html

 

项目文件:freemarker-2.3.19.tar.gz

中文文档:FreeMarker_Manual_zh_CN.pdf

解压后把freemarker.jar加到classpath中即可完成环境的配置

 

定义模板文件

我们创建两个模板文件,一个是纯文本的模板文件,另一个是HTML格式的模板文件,主要是为了说明,freemarker的模板文件可以是任何格式的

01.ftl

1
你好:${username}

02.ftl

1
2
3
4
5
6
7
8
9
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" >
< title >Insert title here</ title >
</ head >
< body >
< h1 >${username}</ h1 >
</ body >
</ html >

 

创建freemarker工具类

这个类,主要是获取模板定义文件,并根据输入的数据输出到控制台和文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.naxsu.freemarker;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class FreemarkerUtil {
     /**
      * 获取模板
      * @param name
      * @return
      */
     public Template getTemplate(String name) {
     try {
         //通过Freemaker的Configuration读取相应的ftl
         Configuration cfg = new Configuration();
         //设定去哪里读取相应的ftl模板文件
         cfg.setClassForTemplateLoading( this .getClass(), "/ftl" );
         //在模板文件目录中找到名称为name的文件
         Template temp = cfg.getTemplate(name);
         return temp;
     } catch (IOException e) {
         e.printStackTrace();
     }
     return null ;
     }
     /**
      * 输出到控制台
      * @param name 模板文件名
      * @param root
      */
     public void print(String name,Map<String,Object> root) {
         try {
             //通过Template可以将模板文件输出到相应的流
         Template temp = this .getTemplate(name);
         temp.process(root, new PrintWriter(System.out));
     } catch (TemplateException e) {
         e.printStackTrace();
     } catch (IOException e) {
         e.printStackTrace();
     }
     }
     /**
      * 输出到文件
      * @param name
      * @param root
      * @param outFile
      */
     public void fprint(String name,Map<String,
                        Object> root,String outFile) {
     FileWriter out = null ;
     try {
             //通过一个文件输出流,就可以写到相应的文件中
         out = new FileWriter(
                       new File( "E:\\freemarker\\ftl\\" +outFile));
         Template temp = this .getTemplate(name);
         temp.process(root, out);
     } catch (IOException e) {
         e.printStackTrace();
     } catch (TemplateException e) {
         e.printStackTrace();
     } finally {
         try {
         if (out!= null ) out.close();
         } catch (IOException e) {
         e.printStackTrace();
         }
     }
     }
}

 

模拟数据,进行测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class TestFreemarker {
     FreemarkerUtil fu;
     Map<String,Object> root = null ;
     @Before
     public void setUp() {
         fu = new FreemarkerUtil();
         root = new HashMap<String,Object>();
     }
     @Test
     public void test01() {
         //1、创建数据模型
         Map<String,Object> root = new HashMap<String,Object>();
         //2、为数据模型添加值
         root.put( "username" , "张三" );
         //3、将数据模型和模板组合的数据输出到控制台
         fu.print( "01.ftl" , root);
         fu.fprint( "02.ftl" , root, "01.html" );
     }
}

好了,helloword到此为止,简单入门就是如此简单

FreeMarker入门之一:say hello world NULL 博文链接:https://pihai.iteye.com/blog/364030 立即下载

相关推荐

一个意义深刻 FreeMarker 入门例子之HelloWord

FreeMarker_Example.zip 包括两个目录 FreeMarkerTest目录是工程 templates文件夹请拷贝到c盘根目录下

FreeMarker入门教程

在Java模板引擎 FreeMarker介绍中,我们已经对freemarker有了一定的了解,这一节是FreeMarker入门教程。   下载freemarker   http://freemarker.sourceforge.net/freemarkerdownload.html   项目文件:freemarker-2.3.19.tar.gz 中文文档:FreeMark...

naxsu的专栏 161

基于STM32与FPGA Cyclone IV的FSMC高速数据通信实战解析

本文详细解析了基于STM32的FSMC接口与FPGA Cyclone IV实现高速并行数据通信的实战方案。通过将FPGA模拟为SRAM设备,构建了MCU与FPGA之间的高速数据通道,并深入探讨了硬件连接、STM32软件配置、FPGA逻辑设计及性能优化等关键步骤,为图像处理、高速采集等需要大数据量交换的嵌入式应用提供了稳定高效的通信解决方案。

swift5iosmith的博客 294

【学习笔记】初识FreeMarker简单使用

楔子:    之前在和同事讨论,同事说“jsp技术太古老了,有几种页面技术代替,比如FreeMarker、Velocity、thymeleaf,jsp快废弃了……”云云。我这一听有点心虚……我在后端部分越刨越深,页面装配技术什么的好像只知道有jsp……趁放假自己补补课啦~ 简介:   FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,纯Java编写。类似jsp,简单来讲...

weixin_30614587的博客 163

【HDR】曝光融合(Exposure Fusion)

在曝光融合(Exposure Fusion)算法问世之前,多曝光序列合成用于显示的HDR需要两个步骤,第一步是将多张不同曝光的低动态范围图像合成为HDR(例如Debevec提出的加权融合方法),通常HDR为12bit或者16bit;第二步是通过tonemapping对高动态范围HDR进行压缩以支持低动态范围显示设备(例如Durand提出的基于双边滤波的tonemapping算法),一般会压缩至8bit。

专注人工智能,主攻CV 1万+

【迁移学习】域对抗迁移网络 DANN

Domain-Adversarial Training of Neural Networks

这个博客太懒了什么都没说 8417

FreeMarker使用小记(HelloWorld)

<br />FreeMarker是开源的模板框架。对于它的介绍网上已经很多了。详情可参考<br />主页:http://www.freemarker.org/<br /><br />  现在我们就开始我们的FreeMarker版的Hello World之旅吧。

那个谁的空间 1394

Ubuntu系统下主板GPU温控pwm风扇

在Linux系统下——以Ubuntu为例,配置主板sys_fan等接口连接pwm温控风扇转速根据NVIDIA GPU温度,为服务器GPU等无主动散热显卡提供散热。

罗思哲的博客 5034

FreeMarker HelloWord列子

工程目录结构:       源码列子:       package org.ftl.test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import

mexican_jacky的专栏 640

手把手教你用DCA1000和mmWave Studio 2.0采集AWR1843雷达数据(附驱动安装与常见报错排查)

本文详细介绍了使用DCA1000和mmWave Studio 2.0采集AWR1843毫米波雷达数据的全流程指南,包括硬件连接、驱动安装、软件配置及常见报错排查。通过实战经验分享,帮助开发者快速掌握数据采集技巧,优化雷达参数配置,提升数据质量与采集效率。

weixin_30070339的博客 332

MIKE 21 教程 2.2 Domain, Time, Module Selection设置教学

上一节讲解了水动力模型的基本概念与文件创建MIKE 21 教程 2.1水动力模型介绍​本节讲解水动力模型前三个模块的设置此模块需导入之前绘制好的网格文件,导入后可预览网格文件点击上方的Domain Specification可查看网格的数据统计与高程属性,快速检查网格文件有无明显错误 点击上方的Boundary names,可查看之前定义的出入水边界。在网格文件中,我们对边界只能以数字属性进行区分,这里可以对数字属性进行命名,在name中直接修改即可。本实例中我们的2代表入水边界,3代表出水边界。因为博主日

Hello Word 3867

java ftl 模板 输出list_Java操作FreeMarker模板引擎的基本用法示例小结

FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具。 它被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然使用FreeMarker需要具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker 生成页面,并通过模板显示准备的数据。http://freemarker.org/public void p...

weixin_33283826的博客 908

计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题

计算机组成原理

weixin_45735391的博客 7万+

freemarker入门笔记之一:永恒的helloword

最近由于工作需要接触了freemarker,把学习过程记下来,作为日后复习的根据,同时也算是分享知识了。 好吧,废话少说,进入正题。 freemarker是一种模板引擎,使用目的是使业务逻辑层和表现层分离。与之功能类似的还有velocity和Jsp。其中velocity也是一种模板引擎,而Jsp是动态页面技术。 使用步骤如下: 1、新建web工程,命名为:helloFreemarker

599

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

整理一下当年的学习笔记之:初步学习freemarker ,先做一个简单的HelloWord程序!

新建一个WEB工程,下载(我使用的是freemarker-2.3.20)freemarker并导入freemarker.jar,在WEB-INF下新建文件夹templates用于存放模版文件 在templates下新建test.ftl,这是示例模版文件。内容就是HTML内容,里面带有一个标记符,用于将来进行变量替换,内容如下: Html代码   html>     he

中年闰土的博客 23万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

freemarker helloworld

package com.wxl.app.freemarker; import java.io.File; import java.io.IOException; import java.io.StringWriter; import java.util.Map; import freemarker.template.Configuration; import freemarker.templat

王星乐的博客 889

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

FreeMarker HelloWorld 一个例子

FreeMarker是开源的模板框架主页:http://www.freemarker.org/  现在我们就开始我们的FreeMarker版的Hello World之旅吧。1.下载 最新的freemarker jar包 FreeMarkerhttp://cznic.dl.sourceforge.net/project/freemarker/freemarker/2.3.20/freemarke...

nethub2的专栏 339

Apahce FreeMarker 第一个程序 HelloWorld

它们可以被视作为 “有效的不可改变的” 对象, 也可以继续使用 安全发布 技术 (参考 JSR 133 和相关的文献)来保证实例对其它线程也可用。比如, 通过 final 或 volatile 字段来声明实例,或者通过线程安全的IoC容器,但不能作为普通字段。才会产出输出,我们有了一个数据模型 (root) 和一个模板 (template), 为了得到输出就需要合并它们。Template 实例以解析后的形式存储模板,而不是以源文件的文本形式。有了模板之后,我们就可以创建数据模型对模板中的变量动态装填。

SmartSi 215

FreeMarker 快速入门

FreeMarker是一个很值得去学习的模版引擎。它是基于模板文件生成其他文本的通用工具。本章内容通过如何使用FreeMarker生成Html web 页面 和 代码自动生成工具来快速了解FreeMarker。1 简介FreeMarker是一款用java语言编写的模版引擎,它虽然不是web应用框架,但它很合适作为web应用框架的一个组件。特点:轻量级模版引擎,不需要Servlet环境就可以很轻松的...

u011280083的博客 212

第一个FreeMarker HelloWorld程序

工作需要,开始接触FreeMarker,Google了半天,看了些07年 08年的博客文章,感觉都比较适合入门。但太深入的没有几篇。 当然,现在已经是2010年,刚开始接触FreeMarker。熟悉了下FreeMarker例子运行的大概流程,遇到些问题。但也都迎刃而解。还需要时间和精力读完官方的指导文档。还是从开发者指南部分开始读吧。免得浪费时间。 FreeMarkerServlet.java...

杰克' Simple life. 169

spring Boot入门--HelloWord

目录 技能准备: 环境准备: 创建项目 目录结构 resources文件夹中目录结构 启动项目: 部署项目 细节: pom文件 主程序启动类 技能准备: 熟悉spring框架 熟练使用maven进行项目构建和依赖管理 环境准备: idea或者eclipse,本文idea jdk1.8 maven3.x spring Boot2.0 创建项目 new Pro...

别浪 254
上一篇: Java模板引擎FreeMarker系列之一.MyEclipse安装FreeMarker插件
下一篇: Java模板引擎FreeMarker系列之三FreeMarker基本标签的使用
韩慧兵
博客等级 码龄15年 170粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值