SpringMVC + thymeleaf + html5 乱码种种坑
来源:互联网 发布:淘宝卖家营销策略 编辑:程序博客网 时间:2024/05/29 03:50
概述:
又消费一个下午解决乱码问题:
乱码1 :html网页显示乱码
你可能想到设置
步骤一:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 不行
步骤二:右键选择properties 设置字符编码为UTF-8 还不行
步骤三:设置tomcat请求字符编码 还是不行
步骤四:是时候修理一下thymeleaf的渲染器 这里两个地方都要设置字符编码,不要忘了
@Bean
public TemplateEngine templateEngine(TemplateResolver templateResolver){
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
//viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
@Bean
public TemplateResolver templateResolver(){
TemplateResolver templateResolver =
new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/template/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
//templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
显示问题解决了
第二个乱码: 输入框乱码,就是输入中文,回显保存信息,发现乱码了
步骤一: 设置表单请求头的接受的字符编码 发现不行
<form method="POST" th:object="${spitter}" accept-charset="UTF-8">
步骤二:spring不是自带字符编码过滤器:
package com.jack.config;import javax.servlet.Filter;import org.springframework.web.filter.CharacterEncodingFilter;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;/** * 在Servlet3.0环境中,容器会在类路径中查询实现 * javax.servlet.ServletContainerInitializer 接口的类,如果发现的话,就会用它来配置Servlet容器 * @author Administrator * */public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class<?>[]{RootConfig.class};}@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class<?>[]{WebConfig.class};}/* * 将DispatchServlet映射到"/" * (non-Javadoc) * @see org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer#getRootConfigClasses() */@Overrideprotected String[] getServletMappings() {return new String[] {"/"};}@Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter c = new CharacterEncodingFilter();c.setEncoding("UTF-8");c.setForceRequestEncoding(true);return new Filter[] {c}; }}//重写父类的过滤器,设置为UTF-8 ,如果是xml,直接在web.xml 配置就行
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter c = new CharacterEncodingFilter();
c.setEncoding("UTF-8");
c.setForceRequestEncoding(true);
return new Filter[] {c};
}
效果:
总结: http一直在处理中文乱码问题
- SpringMVC + thymeleaf + html5 乱码种种坑
- springmvc整合thymeleaf中文乱码
- springmvc中使用thymeleaf乱码完整方案
- SpringMVC整合Thymeleaf模板
- SpringMVC:集成Thymeleaf
- SpringMVC 配置Thymeleaf模板
- SpringMVC配置Thymeleaf
- thymeleaf中文乱码问题
- thymeleaf中文乱码问题
- spring thymeleaf 中文乱码
- spring Thymeleaf 中文乱码
- HTML5模板引擎 Thymeleaf 教程
- Thymeleaf【第一篇】 结合springmvc
- SpringMVC(Thymeleaf)向JQuery传参
- spring+springmvc+hibernate+thymeleaf 练习
- spring+springmvc+jpa+thymeleaf 练习
- spring+springmvc+mybatis+thymeleaf练习
- spring thymeleaf中文乱码问题
- [百度]不等式数列
- Java注解学习
- Spring Cloud构建微服务架构:服务消费(基础)【Dalston版】
- 报数
- Make Your Own Neural Network简介
- SpringMVC + thymeleaf + html5 乱码种种坑
- Hibernate L2 Cache 之 Ignite
- java新手上路(一):输出三菱图标
- Struts2笔记06 封装获取表单数据方式
- ConcurrentModificationException 分析
- android 不同机型因录音权限出现的不同问题
- TCP握手与挥手
- linux tar 解压命令总结
- 织梦模板下载:政府供销社类部门织梦网站模板