Thymeleaf入门

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 -----布尔值,当前循环是否是最后一个