文章目录
本质
freemarker的本质:
数据 + 模板 = 页面
测试简单字符串模板
import freemarker.template.Configuration;
import freemarker.template.Template;
import org.junit.Test;
import org.omg.CORBA.PUBLIC_MEMBER;
import java.io.File;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;
public class GenHtml {
private static final String diretorypath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\template";
private static final String prehtmlfilepath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\html";
//生成静态页面的方法
@Test
public void testFreeMarker() throws Exception{
//1.创建个configuration对象
Configuration configuration = new Configuration(Configuration.getVersion());
//2.设置模板文件所在的路径的目录
configuration.setDirectoryForTemplateLoading(new File(diretorypath));
//3.设置模板文件的字符集
configuration.setDefaultEncoding("utf-8");
//4.首先创建模板文件,再加载模板文件 模板文件的后缀官方提供是.ftl 其实任何类型都行。
Template template = configuration.getTemplate("template.htm");//相对路径
//5.创建模板文件需要展示数据的数据集对象,可以使用POJO,也可以使用map 一般是使用map
Map model = new HashMap<>();
model.put("hello", "hello world");
//6.创建一个FileWriter对象 指定生成的静态文件的文件路径及文件名
//拼接一个前缀和后缀
FileWriter writer = new FileWriter(new File(prehtmlfilepath+"/result.html"));
//7.调用模板对象的process方法,执行输出文件。
template.process(model, writer);
//8.关闭流
writer.close();
}
}
template.htm
测试对象模板
public class GenHtml {
private static final String diretorypath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\template";
private static final String prehtmlfilepath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\html";
//生成静态页面的方法
@Test
public void testFreeMarker() throws Exception{
//1.创建个configuration对象
Configuration configuration = new Configuration(Configuration.getVersion());
//2.设置模板文件所在的路径的目录
configuration.setDirectoryForTemplateLoading(new File(diretorypath));
//3.设置模板文件的字符集
configuration.setDefaultEncoding("utf-8");
//4.首先创建模板文件,再加载模板文件 模板文件的后缀官方提供是.ftl 其实任何类型都行。
Template template = configuration.getTemplate("template.htm");//相对路径
//5.创建模板文件需要展示数据的数据集对象,可以使用POJO,也可以使用map 一般是使用map
Map model = new HashMap<>();
Person person1 = new Person(1L, "嬴荡");
Person person2 = new Person(2L, "嬴政");
Person person3 = new Person(3L, "嬴稷");
//对象
model.put("person1", person1);
model.put("person2", person2);
model.put("person3", person3);
//集合
List<Person> list = new ArrayList<>();
list.add(person1);
list.add(person2);
list.add(person3);
model.put("list",list);
//6.创建一个FileWriter对象 指定生成的静态文件的文件路径及文件名
//拼接一个前缀和后缀
FileWriter writer = new FileWriter(new File(prehtmlfilepath+"/person.html"));
//7.调用模板对象的process方法,执行输出文件。
template.process(model, writer);
//8.关闭流
writer.close();
}
}
jar包
<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23<</version>
</dependency>
</dependencies>
收刀!!