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;
}

范本

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

参考文献

  • Thymeleaf 3发布信息
  • Thymeleaf 3迁移指南
  • Spring MVC 4快速入门Maven原型

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

Thymeleaf 3 – Thymeleaf 3和Spring MVC快速入门相关推荐

  1. Spring MVC快速入门

    今天给大家介绍一下Spring MVC,让我们学习一下如何利用Spring MVC快速的搭建一个简单的web应用. 环境准备 一个称手的文本编辑器(例如Vim.Emacs.Sublime Text)或 ...

  2. 视频教程-基础篇:Spring MVC快速开发-Java

    基础篇:Spring MVC快速开发 毕业于清华大学软件学院软件工程专业,曾在Accenture.IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构 ...

  3. 视频教程-Spring boot快速入门-Java

    Spring boot快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  4. 视频教程-Spring框架快速入门到精通-Java

    Spring框架快速入门到精通 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥18.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. spring boot 快速入门

    文章来源:https://www.cnblogs.com/junyang/p/8151802.html spring boot入门 -- 介绍和第一个例子 "越来越多的企业选择使用sprin ...

  7. 【720开发】 spring boot 快速入门

    spring boot 快速入门 通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单.易用特性. 环境要求 Spring Boot 2.0.0.BUILD-SNAPSHO ...

  8. Spring框架快速入门

    目录 什么是Spring? 为什么学习Spring? Spring的快速入门 Spring的版本 IOC概述 什么是IOC? Spring的IoC入门 下载Spring的开发包 创建web项目,引入S ...

  9. .net mvc html访问数据库,【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上...

    图挂了的说明: 我是在Word中写的本系列文章,然后转成的HTML,所以图片都存在于 fineui.com 服务器,由于临时访问量太多,服务器喘不过气了.... 你可以稍后访问,实在是抱歉...... ...

最新文章

  1. php ping 命令注入,CTF关于ping命令注入问题
  2. SpringBoot使用LibreOffice转换PDF
  3. java 中调用 Matlab 的函数
  4. 容器的访问元素的成员函数(front,back,下标和at)返回的都是引用,如果顺序容器是const的对象,那么返回的是const的引用
  5. ansible命令应用示例
  6. dubbo forbid service的解决办法
  7. 安装arm虚拟机_虚拟机Parallels出手:苹果M1的Mac能运行Win 10 还挺顺畅
  8. Ablative analysis(消融分析)
  9. java super实例_Java 的 super 学习的一个实例
  10. 头文件malloc.h:函数 mallopt()的选项
  11. 蓝桥c++2013真题:逆波兰表达式(代码填空题)
  12. Android第一个程序Say Hello To Android
  13. 基于python下django框架 实现旅游景区景点售票系统详细设计
  14. PCB中常见的单位换算
  15. 接收机灵敏度的计算公式推导和分析
  16. linux挂载硬盘提示我格式化,linux中磁盘格式化挂载使用
  17. FPGA输出五路PWM
  18. 未来科技 从零到一「真格星球 · 前沿科技创业营」探访加速科技
  19. linux压缩分区大小,linux如何无损调整分区大小的详细介绍
  20. BZOJ 4716 假摔

热门文章

  1. 聊聊并发(八)——Fork/Join框架介绍
  2. 到底什么是 OAuth 2.0
  3. 漫画:什么是SHA系列算法
  4. 你在学校我安排了你没有做到最多凶你一顿,在公司不一样,直接得让走人!...
  5. break VS continue
  6. 第5步 配置pom.xml文件 pom文件好了就是jar包引入好了
  7. wordcloud python3.7_[原创]win7/64位系统+python3.7.2下安装wordcloud库失败之解决——一个莫名其妙的方法...
  8. 分类算法中常用的评价指标
  9. jvm(13)-线程安全与锁优化
  10. Mac 环境变量配置