Thymeleaf 3 – Thymeleaf 3和Spring MVC快速入门

Thymeleaf 3发布到达。 新版本带来了许多新功能,例如HTML5支持以及不带标记的文本模板支持– [# th:utext="${thymeleaf.version}" /] ,改进的内联功能– <p>Thymeleaf [[${thymeleaf.version}]] is great!</p> ,性能改进等等。

使用Thymeleaf 3和Spring MVC入门的最简单方法是使用Spring MVC 4 Quickstart Maven Archetype 。 已更新原型以支持Thymeleaf3。下面将描述对原型所做的更改。

依存关系

该项目使用Spring Platform BOM进行依赖关系管理,但是(在撰写本文时)尚未声明对Thymeleaf 3的依赖关系,因此我需要手动声明版本。

  • 胸腺
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.0.RELEASE</version>
</dependency>
  • Thymeleaf Spring 4:
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring4</artifactId>
    <version>3.0.0.RELEASE</version>
</dependency>
  • Thymeleaf Spring Security 4:
<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity4</artifactId>
    <version>3.0.0.RELEASE</version>
</dependency>

使用原型生成的应用程序使用Java 8时间方言,并且由于Thymeleaf API已更改,因此方言依赖项也必须更新。 在Maven Central中将其可用之前,我们必须将快照存储库添加到POM:

<repository>
    <id>sonatype-nexus-snapshots</id>
    <name>Sonatype Nexus Snapshots</name>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>

然后声明依赖项:

<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-java8time</artifactId>
    <version>3.0.0-SNAPSHOT</version>
</dependency>

配置变更

  • 模板解析器

之前的模板解析器:

@Bean
public TemplateResolver templateResolver() {
   TemplateResolver resolver = new ServletContextTemplateResolver();
   resolver.setPrefix(VIEWS);
   resolver.setSuffix(".html");
   resolver.setTemplateMode("HTML5");
   resolver.setCacheable(false);
   return resolver;
}

之后的模板解析器:

@Bean
public ITemplateResolver templateResolver() {
    SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
    resolver.setPrefix(VIEWS);
    resolver.setSuffix(".html");
    resolver.setTemplateMode(TemplateMode.HTML);
    resolver.setCacheable(false);
    return resolver;
}
  • 模板引擎
@Bean
public SpringTemplateEngine templateEngine() {
    SpringTemplateEngine templateEngine = new SpringTemplateEngine();
    templateEngine.setTemplateResolver(templateResolver());
    templateEngine.addDialect(new SpringSecurityDialect());
    templateEngine.addDialect(new Java8TimeDialect());
    return templateEngine;
}
  • 查看解析器:
@Bean
public ViewResolver viewResolver() {
    ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver();
    thymeleafViewResolver.setTemplateEngine(templateEngine());
    thymeleafViewResolver.setCharacterEncoding("UTF-8");
    return thymeleafViewResolver;
}

范本

模板在该项目中未更改。 但是,如果要迁移实际项目,则可能对阅读迁移指南感兴趣

参考文献

翻译自: https://www.javacodegeeks.com/2016/05/thymeleaf-3-get-started-quickly-thymeleaf-3-spring-mvc.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值