本文共 3933 字,大约阅读时间需要 13 分钟。
表单及细节优化
员工信息 添加员工
//查询所有员工,返回list页面 @GetMapping("/emps") public String list(Model model){ Collectionemployees = employeeService.selectAllEmployees(); model.addAttribute("emps",employees); // ThymeleafProperties文件下 // 前缀:public static final String DEFAULT_PREFIX = "classpath:/templates/"; //后缀public static final String DEFAULT_SUFFIX = ".html"; return "emp/list"; } //到添加员工页面 @GetMapping("/addEmp") public String addPage(Model model){ //查出所有部门的deptno Collection departments = departmentService.selectAllDepartment(); model.addAttribute("departments",departments); return "emp/add"; } //员工添加功能,使用post接收 //接收前端传递的参数,自动封装成为对象[要求前端传递的参数名,和属性名一致 @PostMapping("/addEmp") public String addEmp(Employee employee){ employeeService.insert(employee);//保存员工信息 // 回到员工列表页面,可以使用redirect或者forward,就不会被视图解析器解析 return "redirect:/emps"; }
Dashboard Template for Bootstrap 添加的员工信息
SpringMVC会将页面提交的值转换为指定的类型,默认日期是按照 / 的方式提交 ; 比如将2019/01/01 转换为一个date对象。 那思考一个问题?我们能不能修改这个默认的格式呢?
我们去看webmvc的自动配置文件;找到一个日期格式化的方法,我们可以看一下
@Bean@Overridepublic FormattingConversionService mvcConversionService() { Format format = this.mvcProperties.getFormat(); WebConversionService conversionService = new WebConversionService(new DateTimeFormatters() .dateFormat(format.getDate()).timeFormat(format.getTime()).dateTimeFormat(format.getDateTime())); addFormatters(conversionService); return conversionService;}
调用了
点进以上任意一个方法,会发现所在类声明了三个参数/** * Date format to use, for example `dd/MM/yyyy`. */ private String date; /** * Time format to use, for example `HH:mm:ss`. */ private String time; /** * Date-time format to use, for example `yyyy-MM-dd HH:mm:ss`. */ private String dateTime;
这个在配置类application.properties中,所以我们可以自定义的去修改这个时间格式化问题,我们在我们的配置文件中修改一 下;
#自定义时间格式spring.mvc.format.date=yyyy-MM-dd
就可以再添加员工时输入YYYY-MM-DD格式了,但不支持YYYY/MM/DD的格式了。
逻辑分析:
我们要实现员工修改功能,需要实现两步; 1、点击修改按钮,去到编辑页面,我们可以直接使用添加员工的页面实现 2、显示原数据,修改完毕后跳回列表页面! 实现编辑
//跳转到修改页面 @GetMapping("/updateEmp/{empno}") public String updatePage(@PathVariable("empno") Integer empno, Model model) { // System.out.println(empno); //根据empno查出员工 Employee employee = employeeService.selectByPrimaryKey(empno);// System.out.println(employee); //将员工信息返回到页面 model.addAttribute("emp",employee); //查出所有部门的deptno Collectiondepartments = departmentService.selectAllDepartment(); model.addAttribute("departments",departments); return "emp/update"; } //修改完后返回list页面 @PostMapping("/updateEmp") public String updateEmp(Employee employee) { System.out.println(employee); //修改信息 employeeService.updateByPrimaryKey(employee); return "redirect:/emps"; }
使用日期工具,进行日期的格式化!
测试成功
删除
@GetMapping("/deleteEmp/{empno}") public String deleteEmp(@PathVariable("empno") Integer empno){ employeeService.deleteByPrimaryKey(empno); return "redirect:/emps"; }
转载地址:http://lmuki.baihongyu.com/