spring4

maven 的pox.xml

<!-- thymeleaf -->
<thymeleaf.version>3.0.6.RELEASE</thymeleaf.version>

<!-- thymeleaf -->
<dependency>
   <groupId>org.thymeleaf</groupId>
   <artifactId>thymeleaf</artifactId>
   <version>${thymeleaf.version}</version>
</dependency>

<dependency>
   <groupId>org.thymeleaf</groupId>
   <artifactId>thymeleaf-spring4</artifactId>
   <version>${thymeleaf.version}</version>
</dependency>

<dependency>
   <groupId>org.thymeleaf.extras</groupId>
   <artifactId>thymeleaf-extras-springsecurity4</artifactId>
   <version>3.0.2.RELEASE</version>
</dependency>

config的配置

templateResolver.setPrefix("/WEB-INF/templates/"); 模板存放路径

viewResolver.setViewNames(new String[]{"thymeleaf/*"}); 用于多视图解析器时候的 区分

    /**
     * 模板解析器
     * 
     * @author dong.tl
     * @date 2017年5月18日 上午9:36:34
     * @return
     */
    @Bean
    public ITemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setTemplateMode("HTML5");
        templateResolver.setPrefix("/WEB-INF/templates/");
        templateResolver.setSuffix(".html");
        templateResolver.setCharacterEncoding("utf-8");
        templateResolver.setOrder(1);
        templateResolver.setCacheable(false);
        return templateResolver;
    }

    /**
     * 模板引擎
     * 
     * @author dong.tl
     * @date 2017年5月18日 上午9:36:20
     * @return
     */
    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        // 注册安全方言
        templateEngine.addDialect(new SpringSecurityDialect());
        return templateEngine;
    }

    /**
     * Tymeleaf 视图解析器
     * 
     * @author dong.tl
     * @date 2017年5月18日 上午9:35:53
     * @return
     */
    @Bean
    public ViewResolver thymeleafViewResolver() {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(templateEngine());
        viewResolver.setCharacterEncoding("utf-8");
        // 通过ViewNames属性来实现,通过请求中返回的视图名称匹配其采用哪个对应的视图解析器处理,从而找到SpringResourceTemplateResolver对应prefix下的页面
        //viewResolver.setViewNames(new String[]{"thymeleaf/*"});
        return viewResolver;
    }
html模板

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script th:href="@{/res/js/jquery-1.9.1.min.js}"></script>
<script th:inline="javascript">
/*<![CDATA[*/
    var username = 'John Apricot';
/*]]>*/
</script>
</head>
<body>
看看中文
</body>
</html>
这样thymeleaf 就配置OK了


还有一种情况是 发送email时需要html模板

需要添加bean

/** 
     * 从类路径解析   Thymeleaf
     * @author dong.tl 
     * @date 2017年5月18日 上午10:21:12  
     * @return 
     */  
    @Bean    
    public ClassLoaderTemplateResolver emailTemplateResolver(){
        ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
        resolver.setTemplateMode("HTML5");
        resolver.setPrefix("mail/");
        resolver.setSuffix(".html");
        resolver.setCharacterEncoding("utf-8");
        resolver.setOrder(0);
        return resolver;
    }

然后改造下SpringTemplateEngine

@Bean
    public SpringTemplateEngine templateEngine(Set<ITemplateResolver> resolves) {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolvers(resolves);
        // 注册安全方言
        templateEngine.addDialect(new SpringSecurityDialect());
        return templateEngine;
    }



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

love13135816

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值