springmvc 同类多视图解析器配置 thymeleaf freemarker 等

6 篇文章 0 订阅
1 篇文章 0 订阅
很多业务场景需要多前端资源,不一定只有一个前端页面文件夹字,所以后台也需要配置相应的资源解析器

front视图路径:resources/front/
admin图路径:resources/admin/

此配置满足thymeleaf 解析不同路径的模板

 /** 后台用模板解析器 **/
 @Bean(value = "adminTemplateResolver")
    public SpringResourceTemplateResolver adminTemplateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setTemplateMode("HTML5");
        templateResolver.setPrefix("resources/admin/");
        templateResolver.setSuffix(".html");
        templateResolver.setCharacterEncoding("utf-8");
        templateResolver.setOrder(0);
        templateResolver.setName("admin*");
        templateResolver.setCacheable(false);
        return templateResolver;
    }

    /**
     * @return
     * @apiNote 模板解析器
     * @author yepk
     */
    @Bean(value = "templateResolver")
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setTemplateMode("HTML5");
        templateResolver.setPrefix("resources/front/");
        templateResolver.setSuffix(".html");
        templateResolver.setCharacterEncoding("utf-8");
        templateResolver.setOrder(1);
        templateResolver.setName("*");
        templateResolver.setCacheable(false);
        return templateResolver;
    }

    /**
     * @param templateResolver 解析器
     * @return org.thymeleaf.spring5.SpringTemplateEngine
     * @apiNote 解析器
     * @author yepk
     */
    @Bean(value = "templateEngine")
    public SpringTemplateEngine templateEngine(SpringResourceTemplateResolver templateResolver) {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver);
        return templateEngine;
    }

    @Bean(value = "adminTemplateEngine")
    public SpringTemplateEngine adminTemplateEngine(SpringResourceTemplateResolver adminTemplateResolver) {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(adminTemplateResolver);
        return templateEngine;
    }

    /**
     * @param templateEngine 解析器
     * @return org.thymeleaf.spring5.view.ThymeleafViewResolver
     * @apiNote 视图解析器
     * @author yepk
     */
    @Bean
    public ThymeleafViewResolver viewResolver(SpringTemplateEngine templateEngine) {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine);
        resolver.setCharacterEncoding("UTF-8");
        return resolver;
    }

    @Bean
    public ThymeleafViewResolver adminViewResolver(SpringTemplateEngine adminTemplateEngine) {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(adminTemplateEngine);
        resolver.setOrder(0);
        //这个很重要 需要通过路劲来区分 去解析那个路径模板
        resolver.setViewNames(new String[]{"admin*"});
        resolver.setCharacterEncoding("UTF-8");
        return resolver;
    }
    
FreeMarker多视图解析器配置
    /**
     * 视图层解析器
     * 
     * @return FreeMarker view resolver
     */
    @Bean
    public ViewResolver viewResolver() {
        FreeMarkerViewResolver bean = new FreeMarkerViewResolver();
        bean.setOrder(0);
        bean.setViewClass(AdminFreeMarkerView.class);
        bean.setPrefix("/admin/");
        bean.setSuffix(".html");
        bean.setContentType("text/html;charset=UTF-8");
        cacheComponent.registerCachingViewResolverList(bean);
        return bean;
    }
    
     @Bean
    public ViewResolver viewResolver() {
        FreeMarkerViewResolver bean = new FreeMarkerViewResolver();
        bean.setOrder(0);
        bean.setViewClass(WebFreeMarkerView.class);
        bean.setPrefix("/admin/");
        bean.setSuffix(".html");
        bean.setContentType("text/html;charset=UTF-8");
        cacheComponent.registerCachingViewResolverList(bean);
        return bean;
    }
    
    

总之 通过设置视图名字 区分模板路径。。。
FreeMarker通过配置不同的 视图类来区分视图路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值