zoukankan      html  css  js  c++  java
  • REST风格的增删改查(1)

    一、RESTFUL风格的CRUD(增删改查)案例
    1.需求:
    ①显示所有员工信息:URI:emps,请求方式:GET
    ②添加员工所有信息:显示添加页面:URI:emp,请求方式:GET,
    添加员工信息:URI:emp,请求方式:POST
    ③删除员工信息:URI:emp/{id},请求方式DELETE
    ④修改操作:lastName不可修改
    显示修改页面:URI:emp/{id}
    请求方式:GET
    显示效果:回显表单
    修改员工信息:URI:emp
    请求方式:PUT
    显示效果:修改完成,重定向到list页面
    2.相关的类
    实体类:Employee、Department
    Handler:EmployeeHandler
    Dao:EmployeeDao、DepartmentDao
    3.相关页面
    list.jsp
    input.jsp
    edit.jsp

    注意:控制器跳转时:当请求到这个方法,把查到员工的集合放到Map中,同时自动的放入到请求域中,跳转到目标页面之后就可以直接获取
    在CRUD操作中,修改操作要注意:
    1.首先因为添加和修改表单样式差不多,所以使用了同一个页面input.jsp,因此需要使用ID来区分不同的操作,
    当有ID传到input.jsp时,说明是修改操作,没有ID时说明是添加操作。
    2.修改操作,首先规定姓名不可更改,所以在修改时,使用if取消掉name的输入框,使用改变
    请求方式,提交到Handler类中,在Handler类分两步完成修改操作,其一:跳转到修改页面input.jsp,其中跳转到input.jsp页面需要回显,
    所以点击修改时需要传一个参数ID,使用该参数查询到一个对象,并把该对象放入到map中同时也会放入到域对象中,其二:提交修改后的数据
    该操作使用@ModelAttribute注解,由于提交的页面input.jsp中会提交一个隐藏域ID,并改变请求方式,
    所以该注解会在从数据库中根据ID找到一个对象,由于@ModelAttribute注解标注的方法会在目标方法之前执行,所以目标方法执行employeeDao.save(employee);
    操作时,对象employee是一个:从数据库中取出的,并把表单提交的参数值赋到其中之后的对象

    二、数据校验和格式化
    格式化:
    1.格式化日期:由字符串转化成yyyy-MM-dd
    在实体类上使用@DateTimeFormat(pattern=”yyyy-MM-dd”)标注属性private Date birth;
    在Spring配置文件中配置<mvc:annotation-driven></mvc:annotation-driven>

    2.格式化金额:使用注解@NumberFormat(pattern=”#,###,###.#”)标注在属性private Float salary;
    校验:
    1.使用JSR303验证标准
    ①加入hibernate validator验证框架的jar包
    ②在SpringMVC配置文件中添加:<mvc:annotation-driver>
    ③在Bean的属性上添加对应的注解
    ④在目标方法Bean类型的前面添加@Valid注解(在Controller类控制跳转的handler中,)
    注意:需校验的Bean对象和其绑定结果对象/错误对象是成对出现的,他们之间不允许声其他入参:
    (@Valid Employee employee, BindingResult result)

  • 相关阅读:
    AX7 VM can not starting
    AX3空Invoice明细问题
    Solution to “VirtualBox can't operate in VMX root mode” error in Windows 7
    Inventory of the materials to teach you how to query a date certain combination of dimensions
    How to Debug Enterprise Portal Code in Dynamics AX 2009
    Axapta 3 COM Connector
    AX 与Citrix打印机问题
    AX ERP 真正的自动批处理
    SQL语句转摘
    D365: Table, Form, Class to extension
  • 原文地址:https://www.cnblogs.com/tengpengfei/p/10453967.html
Copyright © 2011-2022 走看看