设计
中餐厅Demo
嘉宾:康子
1)嘉宾展示列表;
2)增加、删除嘉宾 更改角色(老板、诗人、投资人、演员。。。)
交互设计:
1)首先展示列表页,页面中有多个按钮,每一行上面有更改和删除按钮,列表下方有增加按钮。
2)点击增加时,出现新的页面,页面需要填入名字和角色两个基本信息,填好提交返回列表页。
3)点击删除时,列表页更新。
4)点击更改时,出现新的编辑页面,名字不可改,角色可修改,修改提交后返回列表页。
系统设计:
1)实体类Guest name role
2)操作Model的方式GuestDao 初始化的数据、数据的增删改查处理
3)业务控制逻辑GuestController 接收请求,逻辑处理,返回相应的页面
4)逻辑处理GuestService去调用相应的GuestDao.
接口设计
1) /guest/list 查询列表 无查询参数 返回结果:List\<Guest>
2)/guest/toAdd 点击增加按钮 返回add.html页面 需填写名字和角色
/guest/add 增加操作 传参为Guest 返回结果:跳转到list页面
3)/guest/toUpdate 点击修改按钮 传参Guest name 返回update.html页面 名字固定 角色可改
/guest/update 修改操作 传参Guest 返回结果:跳转到list页面
4)/guest/delete 删除操作 传参Guest name 返回结果:跳转到list页面
小案例实现
package com.uncle.controller;
import com.uncle.bean.Guest;
import com.uncle.service.GuestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* @program: SpringBoot-study
* @description: 嘉宾的控制层
* @author: 步尔斯特
* @create: 2021-03-03 14:22
**/
@Controller
@RequestMapping("/guest")
public class GuestController {
@Autowired
private GuestService guestService;
@RequestMapping("/list")
public String list(Model model) {
List<Guest> list = guestService.list();
model.addAttribute("list", list);
return "list";
}
@RequestMapping("/toAdd")
public String toAdd() {
return "add";
}
@RequestMapping("/add")
public String add(Guest guest) {
guestService.add(guest);
return "redirect:/guest/list";
}
@RequestMapping("/toUpdate")
public String toUpdate(String name, Model model) {
Guest guest = guestService.getName(name);
model.addAttribute("guest", guest);
return "update";
}
@RequestMapping("/update")
public String update(Guest guest) {
guestService.update(guest)