freemarker頁面中文亂碼

一、前言

簡單的記錄freemarker遇到的錯誤問題:ftl頁面中文亂碼

由于freemarker整合在ssm框架中,所以筆者直接貼配置代碼

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 注冊spring的默認server,來出來靜態資源 --><mvc:default-servlet-handler/><!-- 注冊一些bean,只要用途就是處理請求的映射和調用 --><mvc:annotation-driven/><!-- 自動掃描該包,使SpringMVC認為包下用了@controller注解的類是控制器 -->  <context:component-scan base-package="com.ys.controller" /> <!-- 添加注解驅動 --> <mvc:annotation-driven enable-matrix-variables="true" /><!-- 擴充了注解驅動,可以將請求參數綁定到控制器參數 --><!-- 靜態資源處理  css js imgs --><!--  <mvc:resources location="/resources/**" mapping="/resources" /><mvc:resources location="/back_css/" mapping="back_css/**" /><mvc:resources location="/back_js/" mapping="/back_js/**" /><mvc:resources location="/back_img/" mapping="/back_img/**" /><mvc:resources location="/skin/" mapping="/skin/**" /> --><!-- 告訴Spring 來掃描指定包下的類,并注冊被@Component,@Controller,@Service,@Repository等注解標記的組件 --><context:component-scan base-package="com.ys.controller"  use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan> <!--避免IE執行AJAX時,返回JSON出現下載文件 -->  <bean id="mappingJacksonHttpMessageConverter"  class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  <property name="supportedMediaTypes">  <list><value>text/html;charset=UTF-8</value>  </list>  </property>  </bean>  <!-- 啟動SpringMVC的注解功能,完成請求和注解POJO的映射 -->  <bean  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  <property name="messageConverters">  <list>  <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON轉換器 -->  </list>  </property>  </bean>  <!-- 配置文件上傳,如果沒有使用文件上傳可以不用配置,當然如果不配,那么配置文件中也不必引入上傳組件包 -->  <bean id="multipartResolver"    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    <!-- 默認編碼 -->  <property name="defaultEncoding" value="utf-8" />    <!-- 文件大小最大值 -->  <property name="maxUploadSize" value="10485760000" />    <!-- 內存中的最大值 -->  <property name="maxInMemorySize" value="40960" />    <!-- 啟用是為了推遲文件解析,以便捕獲文件大小異常 --><property name="resolveLazily" value="true"/></bean>   <!-- 配置ViewResolver 。可用多個ViewResolver 。使用order屬性排序。   InternalResourceViewResolver 放在最后--><bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"><property name="order" value="1"></property><property name="mediaTypes"><map><!-- 告訴視圖解析器,返回的類型為json格式 --><entry key="json" value="application/json" /><entry key="xml" value="application/xml" /><entry key="htm" value="text/htm" /></map></property><property name="defaultViews"><list><!-- ModelAndView里的數據變成JSON --><bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /></list></property><property name="ignoreAcceptHeader" value="true"></property></bean><!-- 對轉向頁面的路徑解析。prefix:前綴, suffix:后綴 --><!--JSP視圖解析器--><bean id="viewResolverJsp" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"/><property name="suffix" value=".jsp"/></bean><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/views"/><!-- 設置頁面中文亂碼問題 --><property name="freemarkerSettings"> <props><prop key="defaultEncoding">UTF-8</prop> </props></property> </bean><bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><!-- 解決freemarker中文亂碼 --><property name="contentType" value="text/html;charset=UTF-8"/>        <property name="cache" value="true"/><property name="prefix" value=""/><property name="suffix" value=".ftl"/><property name="order" value="0"/></bean><mvc:interceptors><mvc:interceptor ><mvc:mapping path="/**"/><!--    對于靜態資源,可以通過后綴名<mvc:exclude-mapping path="/**/*.js"/><mvc:exclude-mapping path="/**/*.css"/><mvc:exclude-mapping path="/**/*.jpg"/><mvc:exclude-mapping path="/**/*.gif"/><mvc:exclude-mapping path="/**/*.png"/>也可以通過文件夾, 加這些exclude-mapping就不會被攔截器攔截到,資源能夠正常訪問 --><mvc:exclude-mapping path="/back_css/**"/><mvc:exclude-mapping path="/back_js/**"/><mvc:exclude-mapping path="/back_img/**"/><mvc:exclude-mapping path="/skin/**"/><bean class="com.ys.interceptors.DefaultInterceptors"/></mvc:interceptor></mvc:interceptors> 
</beans>

需要注意的就是:

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/views"/><!-- 設置頁面中文亂碼問題 --><property name="freemarkerSettings"> <props><prop key="defaultEncoding">UTF-8</prop> </props></property> </bean><bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><!-- 解決freemarker中文亂碼 --><property name="contentType" value="text/html;charset=UTF-8"/>        <property name="cache" value="true"/><property name="prefix" value=""/><property name="suffix" value=".ftl"/><property name="order" value="0"/></bean>

這兩個配置文件,其中org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer在spring-webmvc.jar 包里面,項目要導入這個jar包才可以,或者會找不到類。?

注意:還有一種常見的導致亂碼問題:你頁面的編碼跟文件保存的編碼不一致時就會出現錯誤。右鍵修改為UTF-8就可以。

?

轉載于:https://www.cnblogs.com/IT-1994/p/6216428.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371778.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371778.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371778.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

了解ThreadLocal背后的概念

介紹 我知道本地線程&#xff0c;但直到最近才真正使用過它。 因此&#xff0c;我開始深入研究該主題&#xff0c;因為我需要一種傳播某些用戶信息的簡便方法 通過Web應用程序的不同層&#xff0c;而無需更改每個調用方法的簽名。 小前提信息 線程是具有自己的調用棧的單個…

python加密模塊教程_Python加密模塊的hashlib,hmac模塊使用解析

這篇文章主要介紹了Python加密模塊的hashlib,hmac模塊使用解析,文中通過示例代碼介紹的非常詳細&#xff0c;對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下在寫搬磚腳本中&#xff0c;碰到一個加密的信號標簽文件無法運行。import hashlibimport timem ha…

DAO層–救援通用

泛型可以是使用編譯時驗證&#xff08;類型安全性&#xff09;的功能來創建可重用代碼的強大工具。 不幸的是&#xff0c;我感到主流開發人員仍然對此感到恐懼。 但是&#xff0c;比喻海格的蜘蛛&#xff0c;我會說泛型是被嚴重誤解的生物……:-) 我希望以下示例可以證明它們…

ThreadLocal詳解(實現多線程同步訪問變量)

ThreadLocal翻譯成中文比較準確的叫法應該是&#xff1a;線程局部變量。 這個玩意有什么用處&#xff0c;或者說為什么要有這么一個東東&#xff1f;先解釋一下&#xff0c;在并發編程的時候&#xff0c;成員變量如果不做任何處理其實是線程不安全的&#xff0c;各個線程都 在操…

SCREEN屏幕編程時候必須保證SCREN中詞典的字段格式必須和數據表中字段的類型長度一致!...

此時任意操作都會出現如下問題 /h調試 回車調試被激活任意操作 執行到第23行時候報錯“請輸入一個數值”&#xff0c;檢查數據表中字段參考數據元素以及對應的域均是char類型&#xff0c;此時檢查screen屏幕設置字段類型&#xff0c;/n退出程序 重新進入程序 單擊 點擊屏幕9000…

mysql 阿里云 版本_關于阿里云centos版本,mysql5.7的一些注意事項

1.阿里云進去mysql是默認已經安裝好了的&#xff0c;只需要修改root用戶的密碼。關于修改密碼&#xff1a;1)登陸阿里云&#xff0c;進入root目錄&#xff0c;會有mysql的.sh文件&#xff0c;可以通過運行該文件得到初始密碼。此時用初始密碼登陸mysql&#xff0c;use mysql 切…

JAXB –不需要注釋

似乎存在一個誤解&#xff0c;認為在模型上需要使用批注才能使用JAXB&#xff08;JSR-222&#xff09;實現。 事實是&#xff0c;JAXB是例外配置&#xff0c;因此僅當您要覆蓋默認行為時才需要注釋。 在此示例中&#xff0c;我將演示如何在不提供任何元數據的情況下使用JAXB。 …

zabbix 3.0.3 (nginx)安裝過程中的問題排錯記錄

特殊注明&#xff1a;安裝zabbix 2.4.8和2.4.6遇到2個問題&#xff0c;如下&#xff1a;找了很多解決辦法&#xff0c;實在無解&#xff0c;只能換版本&#xff0c;嘗試換&#xff08;2.2.2正常 | 3.0.3正常&#xff09;都正常&#xff0c;最后決定換3.0.31、Error connecting …

安裝mysql5.7.24rpm_centos7安裝mysql-5.7.24(rpm安裝)

關于mysql的4個rpm包node[rootelk-200 ~]# ls mysql/ -lhtotal 192M-rw-r--r-- 1 root root 25M Aug 26 12:38 mysql-community-client-5.7.24-1.el7.x86_64.rpm-rw-r--r-- 1 root root 275K Aug 26 12:38 mysql-community-common-5.7.24-1.el7.x86_64.rpm-rw-r--r-- 1 root ro…

Java鎖實現

我們都使用第三方庫作為開發的正常部分。 通常&#xff0c;我們無法控制其內部。 JDK隨附的庫是一個典型示例。 這些庫中的許多庫都使用鎖來管理競爭。 JDK鎖具有兩種實現。 人們使用原子CAS樣式指令來管理索賠過程。 CAS指令往往是最昂貴的CPU指令類型&#xff0c;并且在x86上…

一鍵生成APP官網

只需要輸入蘋果下載地址&#xff0c;安卓市場下載地址&#xff0c;或者內測下載地址&#xff0c;就能一鍵生成APP的官網&#xff0c;方便在網上推廣。 好推APP官網 www.hotapp.cn/app 轉載于:https://www.cnblogs.com/likwo/p/6223889.html

python 字符ab+字符c 2_“ab”+”c”*2 結果是: (1.3分)_學小易找答案

【判斷題】藥物效應動力學簡稱藥效學,是研究藥物對機體的作用?【單選題】以下關于Python語言中“縮進”說法正確的是:?????????????????????????????????????????????????????????????????????????…

數據結構及算法 -- 目錄

排序算法 -- 目錄 啦啦啦轉載于:https://www.cnblogs.com/ClassNotFoundException/p/7122848.html

Spring MVC集成測試

在Spring MVC中對控制器進行集成測試的一種方法是使用Spring提供的集成測試支持。 對于Junit4&#xff0c;此支持包括一個名為SpringJunit4ClassRunner的自定義Junit Runner和一個用于加載相關Spring配置的自定義批注。 樣本集成測試將遵循以下原則&#xff1a; RunWith(Spri…

spark 快速入門 java API

Spark的核心就是RDD&#xff0c;對SPARK的使用入門也就是對RDD的使用&#xff0c;包括action和transformation 對于Java的開發者&#xff0c;單單看文檔根本是沒有辦法理解每個API的作用的&#xff0c;所以每個SPARK的新手&#xff0c;最好按部就班直接學習scale, 那才是一個高…

網頁設計上機考試原題_Dreamweaver上機考試題目dreamweaver試題庫網頁制作試題.doc...

網頁設計上機考試題集注意&#xff1a;所有題目中涉及的素材都在考試文件夾內&#xff0c;其中圖片在下面的pic文件夾中&#xff0c;音樂、flash在media文件夾。1) 在1.html中的頂部添加一個錨點鏈接&#xff0c;點擊之能立即到達頁面最底端。2) 將1.html中的所有鏈接的默認樣式…

35數據結構與算法分析之---最短路徑

本系列是閱讀《數據結構與算法應用實踐教程》第2版 主編 李文書 北京大學出版社 的讀書筆記&#xff0c;加上自己的理解&#xff0c;更多的是學習的記錄與反思&#xff0c;如有不妥&#xff0c;歡迎指正&#xff0c;非常感謝。轉載于:https://www.cnblogs.com/guochaoxxl/p/712…

Quartz 2 Scheduler示例

Quartz是一個開源作業調度框架。 它可用于管理和計劃應用程序中的作業。 步驟1&#xff1a;建立已完成的專案 創建一個Maven項目&#xff0c;如下所示。 &#xff08;可以使用Maven或IDE插件來創建它&#xff09;。 步驟2&#xff1a;圖書館 Quartz依賴項已添加到Maven的po…

sql server 2008 com.microsoft.sqlserver.jdbc.SQLServerException: 通過端口 1433 連接到主機

原內容搬遷到了新網站&#xff0c;給你帶來的不便&#xff0c;敬請諒解&#xff01; 》 http://www.suanliutudousi.com/2017/08/28/sql-server-2008-com-microsoft-sqlserver-jdbc-sqlserverexception-%E9%80%9A%E8%BF%87%E7%AB%AF%E5%8F%A3-1433-%E8%BF%9E%E6%8E%A5%E5%88%B0…

如何通過網線連接兩臺電腦快速傳輸數據?

介紹 我們經常需要拷貝文件會用到類似U盤等工具&#xff0c;但我們有時在傳輸大文件時又苦于沒有&#xff0c;那么大內存的轉存工具。這時候我們就可以通過一條小小的網線連接兩臺電腦&#xff0c;形成一個小的局域網傳輸數據&#xff0c;因為是通過網線傳輸&#xff0c;所以傳…