005-Thymeleaf模板整合

后台人员的强大之处在于,不仅可以写后台代码,还可以写前端页面。


以前的ssm或者ssh,常用的就是Jsp页面,还有的用模板技术,比如freemarker,velocity等等,springboot推荐使用Thymeleaf模板技术。简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 


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

    2.Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

    3. Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。


继续使用前面的类似ssm的例子,使用Thymeleaf需要加入一个依赖:


加入依赖后,模板的使用配置基本搞定,说一下默认目录,

/src/java/resources :Maven的资源文件目录

/src/java/resources/static:放置js,css,图片等静态内容的目录

/src/java/resources/templates:放置页面视图文件的目录



在视图文件目录中,加入index.html页面,内容如下:



可以看到,这是个非常普通的html文件,唯一区别是在html标签中,加入了下面这个属性:

xmlns:th="http://www.thymeleaf.org"

这个简单的属性就把Thymeleaf命名空间引入了进来,其它内容就是普通的HTML元素。


页面写好以后,写一个普通的Controller来跳转,内容如下:


可以看到,类注解改用了@Controller,因为要跳转视图页面,所以不再使用@RestController(因为@RestController=@Controller+@ResponeBody,会直接返回josn数据),return内容为页面文件的位置,启动项目,访问对应的页面链接,可以看到内容如下(http://localhost/thymeleaf):



可以看到在springboot中加入页面视图非常简单,几乎也是零配置。后面将继续介绍Thymeleaf技术。


代码地址: https://gitee.com/blueses/spring-boot-demo

你可能感兴趣的:(005-Thymeleaf模板整合)