一、下载freemarker的jar包,到maven仓库下载
二、引入jar包,参考freemarker的手册写代码
1、Test.ftlh
<!DOCTYPE html> <html> <head> <title>Welcome!</title> </head> <body> <p>My name is ${username}, I'm ${age} years old, my birthday is ${date?string("yyyy-MM-dd")}</p> </body> </html>
2、com.freeMark.bean.User
package com.freeMark.bean; import java.util.Date; public class User { private String username; private int age; private Date date; public User(String username, int age, Date date) { this.username = username; this.age = age; this.date = date; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } }
3、com.freeMark.FreemarkTest
package com.freeMark; import java.io.File; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Calendar; import java.util.GregorianCalendar; import com.freeMark.bean.User; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateExceptionHandler; public class FreemarkTest { public static void main(String[] args) { Calendar calendar = new GregorianCalendar(1994, 1, 18); User user = new User("youth", 22, calendar.getTime()); Configuration cfg = new Configuration(Configuration.VERSION_2_3_25); try { //设置模板的地址 cfg.setDirectoryForTemplateLoading(new File("src/ftl")); cfg.setDefaultEncoding("UTF-8"); //设置报错处理方式 cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); cfg.setLogTemplateExceptions(false); //取得模板 Template temp = cfg.getTemplate("Test.ftlh"); Writer out = new OutputStreamWriter(System.out); //设置模型数据 temp.process(user, out); } catch (Exception e) { e.printStackTrace(); } } }
三、输出结果
<!DOCTYPE html> <html> <head> <title>Welcome!</title> </head> <body> <p>My name is youth, I'm 22 years old, my birthday is 1994-02-18</p> </body> </html>
分类:
freemarker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?