一、前期准备
官方中文文档:http://freemarker.foofun.cn/ref_directive_ftl.html
官方英文文档:https://freemarker.apache.org/docs/dgui_quickstart.html
二、个人实现
在webapp下新建文件夹templates;ftl,html都放在这里
pom.xml依赖
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
1,实体对象
package com.entity;
public class Person {
private String name;
private int height;
private int sex;
public String getStr() {
return "Person 无参函数";
}
public String getHello(String name) {
return "Hello,my friend " + name;
}
// Getters And Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
}
2,freemark配置信息
package com.cfg;
import freemarker.template.Configuration;
/**
* 用于获取freemark配置信息
*
*/
public class FMConfig {
private static Configuration configuration;
public FMConfig() {}
public static Configuration getConfiguration() {
return configuration;
}
}
3,web监听器
package com.listener;
import java.lang.reflect.Field;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.cfg.FMConfig;
import freemarker.template.Configuration;
/**
* web启动监听器
*/
public class WebInitListener implements ServletContextListener {
/**
* web销毁
*/
@Override
public void contextDestroyed(ServletContextEvent event) {
// TODO Auto-generated method stub
}
/**
* web初始化
*/
@Override
public void contextInitialized(ServletContextEvent event) {
// 初始化freemark配置信息
initFreeMarkConfig(event.getServletContext());
}
/**
* 初始化freemark配置信息
*
* @param servletContext
*/
private void initFreeMarkConfig(Object servletContext) {
try {
// 设置FreeMark配置信息
Configuration configuration = new Configuration(Configuration.VERSION_2_3_0);
configuration.setDefaultEncoding("UTF-8"); // 设置默认编码
co