第四篇:整合Thymeleaf模板

是为了简化 应用的创建、运行、调试、部署等一系列问题而诞生的产物,

在前面几章中已经介绍了如何创建一个 项目,同时简单的描述了 。除此之外它也是支持如 、 、 、 、 等各种模板引擎,同时还为开发者提供了自定义模板扩展的支持。

注意事项

使用嵌入式Servlet容器时,请避免使用JSP,因为使用JSP打包后会存在一些限制。

默认从目录中加载对应的引擎模板。

thymeleaf介绍

是现代化服务器端的Java模板引擎,不同与其它几种模板的是 的语法更加接近HTML,并且具有很高的扩展性。详细资料可以浏览官网。

特点

支持无网络环境下运行,由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。所以它可以让前端小姐姐在浏览器中查看页面的静态效果,又可以让程序员小哥哥在服务端查看带数据的动态页面效果。

开箱即用,为 提供方言,可直接套用模板实现 表达式效果,避免每天因套用模板而修改 标签的困扰。同时开发人员可以扩展自定义的方言。

官方推荐模板,提供了可选集成模块( ),可以快速的实现表单绑定、属性编辑器、国际化等功能。

使用

首先要在 中添加对 模板依赖

然后创建一个 用来映射HTTP请求与页面的跳转,下面写了两种方式,第一种比较直观和优雅,第二种相对普遍且代码较少,且迎合从 跳坑的朋友们...

Spring4.3以后为简化@RequestMapping(method = RequestMethod.XXX)的写法,故而将其做了一层包装,也就是现在的 、 、 、 、

最后在 目录下创建一个名 的模板文件,可以看到 是通过在标签中添加额外属性动态绑定数据的

静态效果

双击打开 既可以看到如下的静态效果,并未和其它模板一样显示一堆标签的内容,而是正常渲染静态页面

动态效果

在浏览器输入:http://localhost:8080/index 可以看到渲染后的效果,真正意义上的动静分离了

小技巧

模板热部署

在 中使用 模板的时候,发现每次修改静态页面都需要重启才生效,这点是很不友好的,百度了下发现原来是默认配置搞的鬼,为了提高响应速度,默认情况下会缓存模板。如果是在开发中请。在每次修改静态内容时即可重新加载了...

修改默认 图标

默认情况下使用 总能看到一片叶子,这是因为我们没配置自己的ico导致的,解决方法也很简单,只需要在 目录下放置一张名为 就可以了

默认配置

默认情况下为我们做了如下的默认配置工作,熟悉默认配置在开发过程中可以更好的解决问题

总结

Thymeleaf参考手册:https://blog.csdn.net/zrk1000/article/details/72667478

WEB MVC详细的内容请参考官方文档:https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/web.html#mvc

目前很多大佬都写过关于的教程了,如有雷同,请多多包涵,本教程基于最新的 编写,包括新版本的特性都会一起介绍...

说点什么

个人QQ:1837307557

battcn开源群(适合新手):391619659

微信公众号(欢迎调戏):

全文代码:https://github.com/battcn/spring-boot2-learning/tree/master/chapter3

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428G0XE7700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券