spring boot 获取配置文件中的中文乱码怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 获取配置文件中的中文乱码怎么解决相关的知识,希望对你有一定的参考价值。
参考技术A 你好,可以编写一个Filter
public
class
EncodingFilter
implements
Filter
/**
编码
*/
String
encoding
=
null;
/**
销毁编码
*/
public
void
destroy()
this.encoding
=
null;
/**
*
执行过滤链,对请求和相应设置编码
*/
public
void
doFilter(ServletRequest
request,
ServletResponse
response,
FilterChain
chain)
throws
IOException,
ServletException
if
(encoding
!=
null)
//
对请求进行编码设置
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
//
将处理权转交给下一个处理器
chain.doFilter(request,
response);
/**
*
初始化编码,从配置文件中获取编码的值
*/
public
void
init(FilterConfig
filterConfig)
throws
ServletException
this.encoding
=
filterConfig.getInitParameter("encoding");
需要再Web.xm中注册拦截器
EncodingFilter
com.sato.filter.EncodingFilter
encoding
GBK
Spring boot Freemarker 获取ContextPath的方法
Spring boot Freemarker 获取ContextPath的两种方法:
1、自定义viewResolver,Spring boot中有一个viewResolver,这个和配置文件中的师徒解析器是一样的,但是spring boot不允许xml配置文件,所以可以写一个自定义的FreeMarker视图解析器。
public class MvcConfig extends WebMvcConfigurerAdapter { @Bean public FreeMarkerViewResolver freeMarkerViewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setPrefix(""); resolver.setSuffix(".ftl"); resolver.setContextType("text/html;charset=UTF-8"); resolver.setRequestContextAttribute("rc"); return resolver; } }
然后在.ftl文件中通过${rc.contextPath}获取、
2、Spring boot自己提供的方法:内置方法。
${springMacroRequestContext.contextPath}
以上是关于spring boot 获取配置文件中的中文乱码怎么解决的主要内容,如果未能解决你的问题,请参考以下文章