Thymeleaf 是一个Spring用来开发动态网站的模板
Maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
@Controller
public class SongListControl {
@Autowired
private SongListService songListService;
@RequestMapping("/songlist")
public String index(@RequestParam("id")String id,Model model){
SongList songList = songListService.get(id);
//传递歌单对象到模板当中
//第一个 songList 是模板中使用的变量名
// 第二个 songList 是当前的对象实例
model.addAttribute("songList",songList);
return "songList";//返回到模板的网页的名称
}
}
在Controller的基础上通过model.addAttribute("songList",songList);
方法创建了一个Model对象,然后return到模板网页。
默认匹配到src/main/resources/templates/
下的HTML 且会自动匹配后缀因此只需要写名字即可。
th:text="${songList.name}"//以此作为属性来调用Model对象
th:each="song : ${songs}"//Thymeleaf的循环语法,它的子标签会循环
当然这个songs要是一个List
在each中存在一个it 的可选参数th:each="song,it : ${songs}"
用于表示很多统计需求
在子标签中可以使用it属性来完成以下:
it.index -----迭代对象的index(从0开始)
it.count -----迭代对象的index(从1开始)
it.current -----当前的迭代对象(相当于上面的song)
it.even/odd -----布尔值,当前循环是否为偶数或奇数(从0开始计算)
it.first -----布尔值,当前循环是否是第一个
it.last -----布尔值,当前循环是否是最后一个