• SpringBoot集成thymeleaf(自定义)模板中文乱码的解决办法


    楼主今天在学习SpringBoot集成thymelaf的时候报了中文乱码的错误,经过网上的搜索,现在得到解决的办法,分享给大家:

    package com.imooc.config;
    
    import org.springframework.beans.BeansException;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    import org.thymeleaf.spring4.SpringTemplateEngine;
    import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver;
    import org.thymeleaf.spring4.view.ThymeleafViewResolver;
    
    /**
     * WebMvc的配置类(自定义Thymeleaf模板)
     *
     * @author Liao Huan
     */
    @Configuration
    public class WebMvcConfig extends WebMvcConfigurerAdapter implements ApplicationContextAware {
    
        private ApplicationContext applicationContext;
    
        /**
         * 设置上下文
         *
         * @param applicationContext
         * @throws BeansException
         */
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            this.applicationContext = applicationContext;
        }
    
        /**
         * Thymeleaf模板资源解析器(自定义的需要做前缀绑定)
         */
        @Bean
        @ConfigurationProperties(prefix = "spring.thymeleaf")
        public SpringResourceTemplateResolver templateResolver() {
            SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
    
            templateResolver.setApplicationContext(this.applicationContext);
            return templateResolver;
        }
    
        /**
         * Thymeleaf标准方言解释器
         */
        @Bean
        public SpringTemplateEngine templateEngine() {
            SpringTemplateEngine templateEngine = new SpringTemplateEngine();
            templateEngine.setTemplateResolver(templateResolver());
            //支持spring EL表达式
            templateEngine.setEnableSpringELCompiler(true);
            return templateEngine;
        }
    
        /**
         * 视图解析器
         */
        @Bean
        public ThymeleafViewResolver thymeleafViewResolver() {
            ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver();
            thymeleafViewResolver.setTemplateEngine(templateEngine());
    
            return thymeleafViewResolver;
        }

    我使用的是自定义的thymelefa模板,在配置文件中需要手动去配置上面的几个方法,这里给出thymeleaf部分配置文件和Controller类的截图代码:

    applicaiton.properties:

    然后测试Controller:

    下面是我的HTML代码:

    启动项目之后:出现中文乱码

     解决办法如下图:(在最上面的配置文件相应位置加上下图红色箭头部分的代码)

     

    重启项目即可解决中文乱码问题:

    原文地址:https://blog.csdn.net/qq_32575047/article/details/82927873
  • 相关阅读:
    快速排序算法
    HDOJ(1005) Number Sequence
    HDOJ(1004) Let the Balloon Rise
    HDOJ(1003) Max Sum
    HDOJ(1002) A + B Problem II
    HDOJ(1001) Sum Problem
    HDOJ(1000) A + B Problem
    DeepFaceLab小白入门(5):训练换脸模型!
    DeepFaceLab小白入门(4):提取人脸图片!
    DeepFaceLab小白入门(3):软件使用!
  • 原文地址:https://www.cnblogs.com/jpfss/p/11038561.html
Copyright © 2020-2023  润新知