如何使用FreeMarker在JSP页面中设置UTF-8编码内容类型

时间:2016-08-25 17:49:56

标签: java jsp spring-mvc utf-8 freemarker

我想在我正在使用UTF-8的{​​{1}}网络应用中设置Spring MVC编码,我更改了配置选项,将所有网页设置为netbeans 8 ide,我通过单击help-> about确认了这一点并检查了系统参数UTF-8,但是当我通过单击文件来检查属性时,它会显示UTF-8

所以我运行我的应用程序并检查了firefox中的内容类型,它说 ISO-8859-1,因此即使单击文件时显示的属性窗口显示Content-Type: text/html;charset=UTF-8,浏览器也会将其视为ISO-8859-1,因为我将nebeans中的默认文件编码更改为UTF-8。

由于我使用的是html5,因此我将文件保存为UTF-8

该文件没有任何JSP代码,但我保存了这个扩展名,因为在项目中已经有太多这样的页面,我没有费心去改变它们。

这是我的配置类中的方法我正在使用java配置

<meta charset="UTF-8">

这行是在我的pom .xml

.JSP

1)我的所有网页都有 @Bean public FreeMarkerConfigurer freemarkerConfig() { FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer(); freeMarkerConfigurer.setTemplateLoaderPath("/WEB-INF/views/"); freeMarkerConfigurer.setDefaultEncoding("UTF-8"); return freeMarkerConfigurer; } @Bean public FreeMarkerViewResolver viewResolver() { FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver(); viewResolver.setPrefix(""); viewResolver.setSuffix(".jsp"); viewResolver.setContentType("text/html;charset=UTF-8"); viewResolver.setCache(false); //Set to true during production // viewResolver.setOrder(0); return viewResolver; }

2)我将netbeans中的默认编码更改为utf-8,

3)我的视图解析器方法有utf-8选项

4)这会显示在我的浏览器<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

为什么utf-8编码不起作用我错过了什么?让它工作的唯一方法是,如果我将这一行放在我的页面<meta charset="UTF-8">的顶部,但由于我没有使用jsp,因此字符串标记出现在视图中。

问题是当我单击netbeans ide中的属性选项时页面显示为Content-Type: text/html;charset=UTF-8,但是在我复制并粘贴样板文件html代码之后,在创建文件创建为UTF-8之前会发生这种情况但我正在复制HTML5代码我不知道它为什么会改为``ISO-8859-1 <%@page contentType="text/html" pageEncoding="UTF-8"%> Content-Type:text / html; charset = UTF-8`。

0 个答案:

没有答案