springboot+FreeMarker 乱码,注解方式

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 16:46   35   0
@Configuration
public class FreeMarkerViewResolverConfig {

    @Bean(name = "viewResolver")
    public ViewResolver getViewResolver() {
        FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();

        viewResolver.setCache(true);
        viewResolver.setPrefix("/freemarker/");
        viewResolver.setSuffix(".ftl");
        viewResolver.setOrder(1);
        viewResolver.setContentType("text/html;charset=UTF-8");//我是因为这一条没有配置,导致乱码
        return viewResolver;
    }

    @Bean(name = "freemarkerConfig")
    public FreeMarkerConfigurer getFreemarkerConfig() {
        FreeMarkerConfigurer config = new FreeMarkerConfigurer();

        Properties properties = new Properties();
        properties.put("default_encoding", GlobalSetting.WEB_ENCODING);
        properties.put("output_encoding", GlobalSetting.WEB_ENCODING);
        properties.put("url_escaping_charset", GlobalSetting.WEB_ENCODING);
        properties.put("locale","zh_CN");
        properties.put("defaultEncoding", GlobalSetting.WEB_ENCODING);
        properties.put("date_format","yyyy-MM-dd");
        properties.put("time_format","HH:mm:ss");
        properties.put("datetime_format","yyyy-MM-dd HH:mm:ss");
        properties.put("classic_compatible","true");
        properties.put("template_exception_handler","rethrow");//#ignore,debug,html_debug,rethrow
        config.setFreemarkerSettings(properties);

// Folder containing FreeMarker templates.
// 1 - "/WEB-INF/views/"
// 2 - "classpath:/templates"
        config.setDefaultEncoding(GlobalSetting.WEB_ENCODING);
        config.setTemplateLoaderPath("classpath:/templates");

        return config;
    }

}

转载于:https://my.oschina.net/u/989834/blog/1934462

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP