解决freemarker的ftl文件中文乱码问题

最近使用freemarker模板引擎输出html时,发现java服务端返回的中文数据在ftl文件中显示正常,但是ftl文件写死的中文出现乱码的情况。
1.首页ftl文件设置了网页的编码如下:

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

2.spring-mvc关于freemarker的配置如下,需要在freemarker的配置里加上
<property name="contentType" value="text/html;charset=UTF-8"></property>

<!-- freemarker的配置 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">    
       <property name="templateLoaderPath">    
           <value>/WEB-INF/views/</value>
       </property>
       <!--设置编码 -->
      <property name="defaultEncoding" value="UTF-8" />
      <!-- 页面数值的显示格式,避免1000显示成1,000 -->
      <property name="freemarkerSettings">
          <props>
              <prop key="number_format">#</prop>
          </props>
      </property>
</bean>   

 <!--FreeMarker视图配置-->
<bean id="ftlviewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
       <property name="suffix" value=".ftl" />   
       <property name="order" value="0"/>
       <property name="contentType" value="text/html;charset=UTF-8"/>
       <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
      <!-- 方便页面获得项目的绝对路径 -->
       <property name="requestContextAttribute" value="request" />

</bean>

这样就解决了乱码的问题。
原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容