1 PathVariable
从请求路径拿到参数值,使用方法如下:
@GetMapping("/types/{id}/input") public String editInput(@PathVariable Long id, Model model) { model.addAttribute("type", typeService.getType(id)); return "admin/types-input"; }
2 PageableDefault
设置分页,需要传入参数Pageable,使用方法如下:
@GetMapping("/types") public String listTypes(@PageableDefault(size = 10, sort = "id", direction = Sort.Direction.DESC) Pageable pageable, Model model) { //Pageable是springboot根据前端传进来参数封装好的 model.addAttribute("page", typeService.listType(pageable)); return "admin/types"; } //size是数据的多少,sort是根据什么进行排序,direction 是排序的方式是圣墟还是降序
3 RedirectAttributes
当控制层使用重定向时,还需要向页面返回参数,使用model页面是无法获取返回的数据的,这里就用到了RedirectAttributes,使用方法如下:
@PostMapping("/types") public String addTypes(Type type, RedirectAttributes redirectAttributes) { String name = type.getName(); if (typeService.getTypeByName(name) != null) { redirectAttributes.addFlashAttribute("message", "添加失败,分类已存在!!!!"); } else { Type t = typeService.saveType(type); if (t == null) { redirectAttributes.addFlashAttribute("message", "添加失败"); } else { redirectAttributes.addFlashAttribute("message", "添加成功"); } } return "redirect:/admin/types"; }