在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
@Controller public class HelloController {
@RequestMapping ( "/" )
public String index(ModelMap map) {
// 加入一个属性,用来在模板中读取
map.addAttribute( "host" , "http://blog.didispace.com" );
// return模板文件的名称,对应src/main/resources/templates/index.html
return "index" ;
}
} <!DOCTYPE html> <html> <head lang= "en" >
<meta charset= "UTF-8" />
<title></title>
</head> <body> <h1 th:text= "${host}" >Hello World</h1>
</body> </html> |
如上页面,直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/
,则是展示Controller中host的值:http://blog.didispace.com
,做到了不破坏HTML自身内容的数据逻辑分离。
更多Thymeleaf的页面语法,还请访问Thymeleaf的官方文档查询使用。
Thymeleaf的默认参数配置
如有需要修改默认配置的时候,只需复制下面要修改的属性到application.properties
中,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# Enable template caching. spring.thymeleaf.cache= true
# Check that the templates location exists. spring.thymeleaf.check-template-location= true
# Content-Type value. spring.thymeleaf.content-type=text/html # Enable MVC Thymeleaf view resolution. spring.thymeleaf.enabled= true
# Template encoding. spring.thymeleaf.encoding=UTF- 8
# Comma-separated list of view names that should be excluded from resolution. spring.thymeleaf.excluded-view-names= # Template mode to be applied to templates. See also StandardTemplateModeHandlers. spring.thymeleaf.mode=HTML5 # Prefix that gets prepended to view names when building a URL. spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL. spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved. |
支持JSP的配置
Spring Boot并不建议使用,但如果一定要使用,可以参考此工程作为脚手架:JSP支持