最近使用freemarker模板引擎輸出html時瓦阐,發(fā)現(xiàn)java服務(wù)端返回的中文數(shù)據(jù)在ftl文件中顯示正常贝奇,但是ftl文件寫死的中文出現(xiàn)亂碼的情況。
1.首頁ftl文件設(shè)置了網(wǎng)頁的編碼如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2.spring-mvc關(guān)于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>
<!--設(shè)置編碼 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 頁面數(shù)值的顯示格式磕道,避免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>
這樣就解決了亂碼的問題示弓。
原文作者技術(shù)博客:http://www.reibang.com/u/ac4daaeecdfe