https://gitee.com/jeff1993/springboot-learning-example.git
本学习记录的示例代码克隆地址,分支为develophttps://gitee.com/kutilion/MyArtifactForEffectiveJava.git
静态资源常日实际的项目中会引入大量的静态资源。比如图片,样式表css,脚本js,静态html页面等。这章紧张学习引入模板来实现访问静态资源。
一样平常Springboot供应的默认静态资源存放位置是/resources之下。html的文件一样平常存放在/resources/templates中。
渲染静态页面常日会用到模板。模板种类很多,这里先容两种:
ThymeleafFreeMarker其余比较常用的模板还有velocity,但是velocity在Springboot1.5开始就不被支持了。
示例干系代码如下:
Thymeleaf
studySpringboot.n06.webframework.web.WebController.javatemplates/06_webframework/thymeleaf.htmlFreeMarker
studySpringboot.n06.webframework.web.WebController.javatemplates/06_webframework/freemarker.ftlThymeleafbuild.gradle
为了利用Thymeleaf模板,须要在build.gradle脚本中引入模板引擎的依赖
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf
WebController.java
掌握器类中声明访问路径,并且为模板添加一个变量
@RequestMapping(\公众/thymeleaf\公众) public String ThymeleafTest(ModelMap map) { map.addAttribute(\"大众host\"大众, \公众http://blog.kutilionThymeleaf.com\公众); return \"大众06_webframework/thymeleaf\公众; }
把稳这个方法的返回值,由于静态页面没有直接放在templates文件夹下,而是放在templates文件夹的子文件夹06_webframework中,以是返回值中要把路径带上
thymeleaf.html
静态页面中利用了el表达式,可以将java变量反响到页面上
<!DOCTYPE html><html><head lang=\"大众en\公众> <meta charset=\"大众UTF-8\"大众 /> <title></title></head><body><h1 th:text=\"大众${host}\公众>This Thymeleaf framework test page.</h1></body></html>
实行结果:
FreeMarker
事理和Thymeleaf基本是一样的
build.gradle
implementation 'org.springframework.boot:spring-boot-starter-freemarker'
WebController.java
@RequestMapping(\"大众/freemarker\"大众) public String FreeMarkerTest(ModelMap map) { map.addAttribute(\公众host\"大众, \"大众http://blog.kutilionFreemarker.com\公众); return \"大众06_webframework/thymeleaf\公众; }
freemarker.ftl
<!DOCTYPE html><html><head lang=\"大众en\"大众> <meta charset=\公众UTF-8\公众 /> <title></title></head><body><h1 th:text=\"大众${host}\公众>This Freemarker framework test page.</h1></body></html>
实行结果:
总结引入并且利用了Thymeleaf和FreeMarker模板Springboot默认已经配置好这两种模板了,如果须要手动配置须要参考两种模板的文档