`
星夜的遐想
  • 浏览: 188880 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Freemarker 中文乱码问题解决方案

阅读更多

为保证Freemarker中文乱码问题配置有三:

 

一、web.xml中加入编码过滤器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/mvc-start.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  
  <filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>
   org.springframework.web.filter.CharacterEncodingFilter
  </filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
   <param-name>forceEncoding</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>
 <filter-mapping>
        <filter-name>encodingFilter</filter-name>    
        <url-pattern>/*</url-pattern>
 </filter-mapping>
    
</web-app>

 二、Freemarker视图配置中设置默认编码类型:defaultEncoding

 

	
	<!-- FreeMarker环境配置 -->
	<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<!-- freemarker模板位置 -->
		<property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>
		<property name="freemarkerVariables">  
            <map>  
                <entry key="xml_escape" value-ref="fmXmlEscape" />  
            </map>  
        </property>  
         <property name="freemarkerSettings">
       		<props>
       			<prop key="defaultEncoding">UTF-8</prop>
       		</props>
       </property> 
	</bean>

 

三、freemarker视图解析器中配置contentType

<!-- FreeMarker视图解析 -->
	<bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<!-- <property name="cache" value="true"/> -->
		<property name="prefix" value="/"/>
		<property name="suffix" value=".xhtml"/>
		<property name="contentType" value="text/html" />
		<property name="order" value="0"></property>
	</bean>

 四、freemarker页面头部设置<meta>标签申明字符集

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>用户列表</title>
</head>
</html>

 

以上四个地方配置好后,乱码自动消失!OO

分享到:
评论

相关推荐

    freemarker 中文乱码解决

    在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的...通过上述方法,可以有效地解决Freemarker中出现的中文乱码问题,提高Web应用的稳定性和用户体验。

    freemarker入门实例(解决乱码eclipse/java/编码方式UTF-8)

    本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...

    Freemarker 学习笔记一 【乱码解决】

    在压缩包文件"FreeMarker_03"中,可能包含了更详细的代码示例或配置示例,可以帮助你更好地理解和实践上述解决方案。记得解压并仔细研究其中的内容,结合博文链接中的信息,相信你能对Freemarker的乱码问题有深入的...

    freemarker语法完整版

    常见问题与解决方案** - 如何解决乱码问题。 - 如何提高性能。 - 如何正确使用内置标签。 通过以上详细解释,读者可以更好地理解Freemarker的核心概念、指令用法以及一些常见的技巧和注意事项,从而更高效地...

    freemarker生成doc方案.pdf(内附代码下载地址)

    以上是通过Freemarker模板引擎生成Word文档的基本知识点,包括了选择技术的理由、实现方案、遇到的难点及其解决方案、以及在不同环境下生成PDF文档的方法。这些知识点对于希望使用Freemarker模板引擎自动化生成文档...

    spring整合freemarker发送邮件例子

    7. **解决乱码问题**:邮件内容的编码是常见的乱码来源。在JavaMail中,可以使用 `MimeMessage` 的 `setEncoding` 方法设置邮件的字符集,确保内容正确显示。同时,对于非ASCII字符,如中文,也需要确保邮件头部(如...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    然而,在实际开发过程中,我们可能会遇到一些问题,比如在处理`hbm.xml`文件中的中文注释时出现乱码,或者希望自动生成的实体类中包含有详细的注释。本文将详细介绍如何利用`Hibernate-tools`来解决这些问题,以`...

    生成WORD freemarker导出WORD

    本项目“生成WORD freemarker导出WORD”正是这样一个解决方案,它允许开发者使用FreeMarker模板来创建和导出Microsoft Word文件。 首先,我们要理解FreeMarker的工作原理。FreeMarker是一个基于Java的模板语言,它...

    修改 flying sauser(xhtmlrenderer) 源代码,中文无障碍显示

    同时,该内容也可能涉及到对于PDF文档生成工具的一般性了解,以及在遇到中文显示问题时,如何进行调试和问题解决的技巧。由于正文内容中仅有重复性的测试文本,并未提供实际的修改方法,因此无法从现有信息中提炼出...

    Java用freemarker导出word例子

    在Java开发中,有时我们需要将数据导出为各种格式的文档,例如Word。...通过理解`Freemarker`的FTL语法、配置和数据模型,以及如何使用Apache POI操作Word文档,你可以创建出满足各种需求的Word导出解决方案。

    freemark学习文档

    本学习文档主要涵盖Freemarker的一些基础概念以及常用命令符号,并探讨了模板装载方法和解决输出中文乱码的问题。 #### 二、Freemarker命令符号详解 在Freemarker中,命令符号是模板语言的核心组成部分之一,它们...

    Maven site 站点生成pdf的中文支持解决方案

    然而,在生成PDF文档时,如果涉及到中文内容,可能会遇到显示乱码或者不支持的问题。本文将深入探讨如何解决Maven站点生成PDF时的中文支持问题。 首先,我们需要理解Maven生成站点的流程。Maven站点插件(maven-...

    springboot集成jsp的简单例子

    同时,它也涉及到了拦截器的使用以及中文乱码问题的解决方案,这些都是开发过程中常见的需求和挑战。 首先,Spring Boot默认并不支持JSP,因为它更倾向于使用模板引擎如Thymeleaf、Freemarker等。但JSP作为传统的...

    flying-saucer生成pdf

    解决方案是在生成PDF时指定包含中文字符的字体,例如Arial Unicode MS或SimSun。至于CSS样式问题,flying-saucer虽然支持大部分CSS2,但可能不完全兼容CSS3。因此,保持CSS代码简洁并遵循标准可以提高兼容性。使用...

Global site tag (gtag.js) - Google Analytics