用freemarker生成html静态文件时,涉及的编码主要有如下2类:
1. 模板的解析编码(用于处理模板中的中文)
// - 对于没有明确编码指定的模板文件,设置读取模板文件时的字节转换为字符的编码方式
cfg.setDefaultEncoding("utf-8"
);
//设置读取指定模板的编码方式
cfg.getTemplate(tempName,charset
);
2. 静态文件的输出编码(用于处理数据中的中文)
// - 设置输出的字符集(charset),提示模板URL编码和使用http-equiv="Content-type"产生META元素 cfg.setOutputEncoding("UTF-8"); //这个还没有看出在哪用?
//输出流的编码方式。
fileOutputStream = new FileOutputStream(file);
outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8"
);
template.process(content, outputStreamWriter );
附:简易查看文件编码:
用IE打开文件,然后点击菜单栏“查看”--“编码”。
分享到:
相关推荐
在这个示例中,我们将深入探讨如何使用Freemarker根据XML模板生成Word文档。 首先,你需要了解Freemarker的基本概念。Freemarker是一个基于模板的语言,它的核心是模板文件,模板文件中包含了一系列控制结构(如...
3.写java程序根据模板生成word 总结,之前在网上查到这个资料怎么调试都失败,后来经过反复查找发现是编码问题导致生成word格式错误,已经修正,希望能给大家带来帮助。 效率测试生成100000行数据大概4000毫秒...
2. **Freemarker模板(Template)**:这是一个`.ftl`文件,里面定义了XML的结构和如何填充数据。例如,一个简单的模板可能如下所示: ```ftl ${person.name} ${person.age} ``` 在这个模板中,`...
**FreeMarker + POI:模板生成Word并导入图片** 结合FreeMarker和Apache POI,我们可以创建一个模板Word文档,其中包含占位符,然后使用POI读取和填充这个模板,同时插入图片,生成最终的动态Word文档。以下是这个...
在Java中,我们通常会创建一个模型对象(Model),填充业务数据,然后使用FreeMarker模板来渲染这个模型,生成HTML文本。 步骤1:设置FreeMarker环境 在Java项目中,我们需要添加FreeMarker的依赖库,如Maven中的`...
在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的模板引擎,被广泛应用于Web开发中,用于动态生成HTML、XML等文本格式的页面。然而,当涉及到非英文...
2. **FreeMarker模板修改**: 修改FreeMarker模板,不再使用`<img>`标签,而是直接放置Base64编码的图片数据。在Word文档中,可以通过使用特殊的XML标签(如`<w:pict><w:binData>`)来插入Base64编码的图片。 3. **...
本示例主要展示了如何使用Freemarker根据XML模板生成Word文档。以下是对这一技术的详细解释: 1. **Freemarker简介**: Freemarker是一个开源的Java库,它能够将数据模型与HTML、XML或其他文本格式的模板结合,...
FreeMarker模板语言(FTL)是它的核心,用于描述如何根据数据模型生成最终输出。 2. **可视化div布局**:在网页设计中,div元素通常作为容器来组织内容。可视化div布局工具允许用户通过图形化界面拖拽div元素,调整...
5. SpringMVC控制器接收到请求后,将数据模型(包括Base64字符串)传递给Freemarker模板。 6. Freemarker根据模板和数据模型生成最终的Word文档。 7. 将生成的Word文档返回给客户端下载或在线预览。 这个项目的实现...
在Freemarker模板中,可以定义一个变量来存储这个编码,然后在Word模板中使用这个变量插入图片。 4. **Java Web项目集成**:在Java Web项目中,Freemarker通常与Servlet容器(如Tomcat)一起工作。服务器端的Java...
创建一个`.ftl`(FreeMarker模板语言)文件,定义Word文档的结构和占位符。比如,可以创建一个名为`template.ftl`的文件,其中包含文本和`<#include>`标签来插入图片。 3. **数据模型**: 准备一个Java对象或Map...
步骤二:创建FreeMarker模板 创建一个HTML模板文件,例如`template.ftl`,并定义好所需的结构和样式。模板中可以使用FreeMarker语法 `${}` 来引用数据模型中的变量。 步骤三:准备数据模型 定义一个Java对象或Map来...
这个压缩包提供的就是一套基于Freemarker模板的代码生成器模板文件,分别对应控制器(Controller)、实体类(Bean)、服务接口(Service)和服务实现(ServiceImpl)、数据访问对象(Dao)。 1. **Controller.ftl**...
本主题主要涉及两个关键步骤:根据RTF(Rich Text Format)模板生成Word文档,然后将生成的Word文档转换为PDF格式。让我们详细探讨这两个过程以及解决乱码和转换失败的问题。 **RTF模板生成Word文档** RTF是一种...
- 模板文件的编码应与Java代码的编码一致,避免出现乱码问题。 - 谨慎处理模板中的动态内容,避免XSS攻击。 通过以上步骤,你可以使用Java FreeMarker成功生成Word文件。实际应用中,可以根据需求扩展模板和数据...
4. **创建Freemarker模板**:在src/main/resources/templates目录下,创建一个FTL(Freemarker模板)文件,比如query.ftl。在这个模板中,你可以用${...}来引用Java对象的属性,使用Freemarker语法构造动态SQL。 5....
要实现“一个单元格生成多张图片”的功能,首先我们需要创建一个FreeMarker模板,这个模板中包含一个或多个用于插入图片的占位符。占位符可以是简单的文本,例如`<#include "image1.jpg"/>`,FreeMarker在解析时会将...
3. **配置Freemarker**:初始化Freemarker配置,加载模板文件,并设置字符编码等参数。代码可能如下: ```java Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg....
这篇名为“初试FreeMarker模板的一些问题”的博客可能涵盖了在学习和使用FreeMarker过程中遇到的基础问题和解决方法。 1. **模板语言基础** FreeMarker使用模板语言来定义如何将数据模型渲染成可读的输出。模板由...