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.mzph.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;所以传…