/**
* 按模板文件生成页面字符串。
* @param context
* @param data 数据映射对象。
* @param templatePath 模板文件的路径,和struts配置文件里的相同。
* @return
*/
private String createHTML(ServletContext context, Map<String, Object> data, String templatePath){
Configuration freemarkerCfg = new Configuration();
freemarkerCfg.setServletContextForTemplateLoading(context, "/");
freemarkerCfg.setEncoding(Locale.getDefault(), "UTF-8");
Template template = null;
try {
template = freemarkerCfg.getTemplate(templatePath, "UTF-8");
template.setEncoding("UTF-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(null != template ){
StringWriter out = new StringWriter();
try {
template.process(data, out);
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return out.getBuffer().toString();
}
return null;
}
分享到:
相关推荐
3. **处理模板**:使用Freemarker API的`Configuration`和`Template`类,将数据模型应用到模板上,生成HTML字符串。 4. **调用wkhtmltox**:通过Java绑定库,将生成的HTML字符串转换为PDF。 5. **保存PDF**:将生成...
4. **处理模板**:使用`Template`对象的`process()`方法,将数据模型与HTML模板结合,生成HTML字符串。 5. **转换为PDF**:现在,你需要一个工具将HTML转换为PDF。常见的工具有iText、Flying Saucer或Apache PDFBox...
根据提供的文件信息,我们可以深入探讨Freemarker中的内置函数,主要关注数字、字符串以及日期的格式化处理。Freemarker是一种强大的模板引擎,被广泛应用于Web开发和其他领域中,用于生成动态HTML页面或其他类型的...
在本项目"springboot整合freemarker生成静态html的demo.zip"中,我们将探讨如何将SpringBoot框架与FreeMarker模板引擎结合,以实现动态数据驱动的静态HTML页面生成。FreeMarker是一个强大的、开源的模板语言,它允许...
然后,创建一个Java类,设置需要的数据模型,并使用`FreeMarkerTemplateUtils`将模板和数据模型合并,生成最终的HTML字符串。 3. FreeMarker生成XML: 生成XML文档与生成HTML类似,只需将模板设计为XML格式。变量...
在生成静态页面的场景中,Struts2可以作为数据和模板之间的桥梁,将处理后的业务数据传递给Freemarker,由Freemarker生成静态HTML。 **生成静态页面的流程** 1. **配置Struts2**: 首先,我们需要在Struts2的配置...
本示例将详细介绍如何使用Freemarker生成静态HTML页面。 1. **Freemarker基本概念** - **模板**: Freemarker的核心是模板,它定义了输出文件的结构和样式,其中包含了一系列指令和变量。 - **数据模型**: 数据...
总结,使用Freemarker生成小程序页面是一种常见的实践,它能将页面设计与后端业务逻辑分离,便于维护和扩展。理解Freemarker的语法和API,以及如何将其与小程序的开发流程相结合,对于提升开发效率和代码质量都有...
在使用FreeMarker生成HTML静态文件时,你需要遵循以下步骤: 1. **配置FreeMarker**:首先,你需要在项目中引入FreeMarker库,并进行基本配置,例如设置模板目录、缓存策略等。这通常在Spring框架中通过`...
- 使用字符串替换方法将模板中的占位符(如`###title###`)替换为实际的数据(如`ThisisTitle`)。 - 将替换后的HTML内容写入新的HTML文件中。 2. **template.htm**:这是一个简单的HTML模板文件,包含了一些占位...
创建一个`HSSFWorkbook`实例,然后将Freemarker生成的字符串写入到工作表中。 5. 写入文件:最后,将工作簿写入到本地文件系统,用户就可以下载或保存Excel文件了。 三、实际例子 在提供的压缩包`freemarker总结-...
这通常包括字符串、列表、地图等。确保数据映射中的键与模板中的占位符匹配。 - 示例代码中的 `dataMap` 存储了标题和一个名为 `table2` 的列表,列表内包含多个 `Table2` 对象,用于演示如何填充多行数据。 5. **...
为了进一步了解和使用这个项目,你需要解压文件,查看项目结构,并按照描述中的指示运行`CreateHtmlWebSite.java`,这将帮助你理解并实践FreeMarker生成静态页面的过程。 总的来说,FreeMarker是Java Web开发中一个...
在线编辑器生成的HTML代码通常包含各种标签和样式,如果直接进行简单的字符串截取,可能会导致截取结果中包含未闭合的HTML标签,进而影响页面显示。因此,处理这种字符串时,我们需要考虑到HTML结构,确保截取后的...
本主题将深入讲解如何利用Freemarker生成Word文档,并提供相关的工具和示例。 1. **Freemarker基本概念** - Freemarker是基于模板的,它通过解析模板文件与数据模型结合,生成最终的输出。 - 数据模型通常是Java...
Freemarker是一款强大的模板引擎,它支持多种语言环境,尤其在Web开发中被广泛应用于动态页面的生成。在Freemarker中,内置了大量的实用函数,这些函数能够帮助开发者更加高效地处理数据、生成HTML等输出内容。本文...
`<#include>`接受一个字符串参数,该参数是待包含模板的路径。包含的模板可以是相对路径,相对于当前模板的位置,也可以是绝对路径。通过`<#include>`,开发者可以将通用的部分(如头部、底部导航、侧边栏等)抽取到...
在本教程中,我们将深入探讨如何在Java项目中使用Freemarker生成静态页面,以及其基本语法。 首先,了解Freemarker的基本概念是必要的。它是一个模板语言,允许开发者用简单的标记来控制输出内容。Freemarker与后端...
- 将数据模型与模板结合,调用`Template`对象的`process`方法生成HTML字符串。 6. **生成静态HTML** - 渲染后的HTML字符串可以写入到文件系统,形成静态HTML文件。 - 这一步通常在Web服务器启动时或用户请求后...