之前项目是用jetty测试, 后来放到tomcat中发现中文乱码问题。
仔细查看了一下, 发现是freemarker生成的文件编码格式不是utf-8.
网上查了一下, 参考
http://blog.csdn.net/it_man/article/details/3808697
首先修改freemarkerUtil代码:
Template template=getTemplate(fname);
template.setEncoding("utf-8");
template.process(root, new PrintWriter(new File(outpath)));
运行之后问题依旧。
看了下链接博客,
改成
Template template=getTemplate(fname);
template.setEncoding("utf-8");
//template.process(root, new PrintWriter(new File(outpath)));
Writer out=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(outpath)),"utf-8"));
template.process(root, out);
问题解决了。
详细请看链接。
比较奇怪的是之前在myeclipse里用maven+jetty生成的文件都是utf8编码的格式。
分享到:
相关推荐
在这个"freemarkerdemo生成word插入图片"的示例中,我们主要探讨如何利用Freemarker来创建Word文档,并且将图片集成到这些文档中。这个过程涉及到几个关键的技术点: 1. **Freemarker基础知识**:Freemarker是一个...
在学习和使用Freemarker的过程中,可能会遇到乱码问题,这是非常常见的困扰。这篇学习笔记主要讨论如何解决Freemarker中的乱码问题。 首先,我们要理解乱码的产生原因。乱码通常是因为字符编码不一致导致的,例如,...
- **与容器无关**:FreeMarker不依赖于任何特定的Web容器,如Tomcat或Jetty,也不依赖于HTTP或Servlet技术,这意味着它可以在任何环境中运行,无论是Web应用还是桌面应用。 - **灵活性**:可以通过多种途径加载...
在实际应用中,Freemarker与Servlet容器如Tomcat结合,通过`FreeMarkerServlet`或者Spring MVC的`FreeMarkerViewResolver`来解析和渲染模板。配置文件`freemarker.properties`允许自定义Freemarker的行为,如模板的...
- 配置:在application.properties中配置FreeMarker模板的位置、编码方式等信息。 - 创建视图解析器:Spring Boot默认已经配置了FreeMarkerViewResolver,可以自定义视图解析路径。 - 模板文件:创建FTL(FreeMarker...
在实际应用中,FreeMarker通常与Servlet容器(如Tomcat)和Web框架(如Spring MVC)配合使用。开发者需要将模板文件存储在服务器的特定目录下,并通过Java代码向FreeMarker引擎传递数据模型。FreeMarker会解析模板,...
在"freemarker web工程实例"中,我们假设已经搭建了一个基本的Java Web环境,包括Tomcat服务器和Maven或Gradle构建工具。接下来,我们将介绍集成Freemarker的关键步骤: 1. **添加依赖**:在项目构建文件(如pom....
在实际应用中,FreeMarker通常与Servlet容器(如Tomcat)和MVC框架(如Spring MVC)结合使用。在Spring MVC中,可以通过配置将FreeMarker作为视图解析器,让控制器返回的ModelAndView对象自动与FreeMarker模板匹配并...
- **设置配置对象**:在Servlet中,创建`FreemarkerConfig`对象,并设置Freemarker的配置,例如模板目录、编码方式等。 - **读取模板**:使用`Freemarker`的`Template`类加载模板文件,通常这些模板文件放在Web...
在Web开发中,FreeMarker通常与Servlet容器(如Tomcat)和MVC框架(如Spring MVC)一起使用。控制器负责准备数据模型,然后传递给FreeMarker模板进行渲染,最后返回给客户端。 例如,在Spring MVC中,你可以创建一...
在这个例子中,"home"就是Freemarker模板文件的名字,通常放在`src/main/resources/templates`目录下。 对于JSP,它是Java的一个视图技术,可以直接在页面上嵌入Java代码。在SpringBoot中,我们需要配置Tomcat来...
在这个实例中,我们将深入探讨如何在MyEclipse环境下搭建一个基于FreeMarker和Struts2.0的Web项目,以及如何实现它们的集成。 1. **FreeMarker简介** FreeMarker是一个模板语言,它允许开发者将业务逻辑与展示逻辑...
FreeMarker是一款强大的、开源的模板引擎,主要用于生成动态HTML、XML或其他格式的文本输出,尤其在Web应用开发中被广泛使用。它与Java语言紧密集成,但设计时尽量避免了与具体的编程语言耦合,因此也可以与其他编程...
- **编码问题**:确保所有配置文件和模板文件的编码一致,以避免乱码问题。 - **安全问题**:对于敏感数据,应考虑使用Spring Security等框架加强安全性。 - **性能优化**:在生产环境中,可以考虑使用缓存机制来...
在本项目中,Freemarker模板与Spring Boot结合,用于渲染网页内容。开发者可以创建FTL(Freemarker Template Language)文件,其中包含动态数据和逻辑,然后由Freemarker引擎解析并生成最终的HTML响应。 3. **MySQL...
注意可能出现的乱码问题,这可能是由于字符编码设置不一致导致的,检查项目中各文件的编码设置,以及服务器的字符集配置,确保其与你的系统环境匹配。 通过这个项目,你可以学习到如何整合这三个强大的工具,理解...
在这个例子中,我们创建了`Configuration`对象,设置了模板目录和编码,然后加载模板文件,并将数据放入一个`Map`对象中。最后,通过`Template`的`process`方法生成HTML页面并写入到指定文件。 Freemarker的语法...
在这个领域,我们主要关注的是Tomcat服务器的高级特性,以及如何解决Web开发中常见的问题。 1. **Tomcat中的类装载器** 类装载器在Java Web应用中起着至关重要的角色,它负责加载应用中的类。在Tomcat中,类装载器...
在Tomcat中,可以通过context.xml配置文件来定制类装载器的行为,例如设置资源注入,如邮件服务的配置。通过JNDI(Java Naming and Directory Interface)查找,可以在Servlet中获取并使用这些配置好的资源。 其次...