在Spring Boot中使用Thymeleaf
代码可以从路由加载模板文件就可以。
环境准备
使用Spring Initializr构建项目,注意在Dependencies栏选择Thymeleaf。
模板文件
在资源文件夹新建目录templates,这是Thymeleaf的默认配置,将模板文件放入其中:
src/main/resources/templates/index.html
h1标签显示了变量hello的内容。注意在标签体内写入内容是无效的。
模板配置
在application.properties中添加配置,关闭Thymeleaf的缓存:
当然,Thymeleaf的其它配置项可以使用相同的方式写入。
控制器
写一个控制器来转发路由:
src/main/java/net/smallyu/java/HelloController.java
控制器代码很简单,接收来自hello的请求,设置了入参map的一对键值,键为hello,即模板中调用的变量名。方法的返回值类型为String,用于指定返回模板目录下的哪个模板文件。这里返回了index,程序将找到并返回index.html。
运行
启动Spring Boot,访问 http://localhost:8080/hello,页面显示出了Hello Thymeleaf!。
使用静态资源
静态资源由Spring Boot控制,需要遵循一些命名规范。比如新建目录:
src/main/resources/static
在目录中放入静态资源,一张图片1.png和一个css文件main.css。css文件的内容为:
相应的修改模板文件index.html,在<head>之间加入css引用:
注意引用路径直接为main.css,而不是相对路径../static/main.css。在<h1>后面加入img引用:
重启应用,访问 http://localhost:8080/hello,页面背景色变为#def,图片也正常加载出来。