FreeMarker 语法 include 引用模板

一、java 代码

复制代码
@Test
public void testFreeMarker() throws Exception {
    //1、创建一个模板文件
    //2、创建一个Configuration对象
    Configuration configuration = new Configuration();
    //3、设置模板文件保存的目录
    configuration.setDirectoryForTemplateLoading(new File("E:/workspaces/fw-item-web/src/main/webapp/WEB-INF/ftl"));
    //4、模板文件的编码格式,一般就是utf-8
    configuration.setDefaultEncoding("utf-8");
    //5、加载一个模板文件,创建一个模板对象。
    Template template = configuration.getTemplate("student.ftl");
    //6、创建一个数据集。可以是pojo也可以是map。推荐使用map
    Map data = new HashMap<>();
    
    data.put("studnet", "studnet.ftl");
    data.put("hello", "hello.ftl");
    
    //7、创建一个Writer对象,指定输出文件的路径及文件名。
    Writer out = new FileWriter(new File("E:/freemarker/student.html"));
    //8、生成静态页面
    template.process(data, out);
    //9、关闭流
    out.close();
}
复制代码

二、studnet.ftl

复制代码
<html>
<head>
    <title>null</title>
</head>
<body>
    
    student.ftl 模板:<br>
    ${studnet}<br><br>
    
    引用模板测试:<br>
    hello.ftl 模板:<br>
    <#include "hello.ftl">
    
</body>
</html>
复制代码

三、hello.ftl

${hello}

四、结果

 

posted @   方方方方方方  阅读(1090)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示