一、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)

REST风格的增删改查(1)的更多相关文章

  1. nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  2. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  3. REST风格的增删改查(2)

    一.源码 1.页面 index.jsp <a href="emps">List All Employee</a> <br><br> ...

  4. SpringMVC 之 RESTful 风格的增删改查

    1. 视图和视图解析器 视图解析器 请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View 或 ModelMap 等类型的处理方法, SpringMVC 也会 ...

  5. 如何用Spring框架的<form:form>标签实现REST风格的增删改查操作

    1.首先创建两个bean类,Employee(职工)和Department(部门),一个部门可以有多个职工 Employee类(属性:职工ID:id:姓名:lastName:邮箱:email:性别:g ...

  6. springmvc-实现增删改查

    30. 尚硅谷_佟刚_SpringMVC_RESTRUL_CRUD_显示所有员工信息.avi现在需要使用restful风格实现增删改查,需要将post风格的请求转换成PUT 请求和DELETE 请求 ...

  7. Restful风格wcf调用2——增删改查

    写在前面 上篇文章介绍如何将wcf项目,修改成restful风格的接口,并在上面提供了查询的功能,上篇文章中也感谢园友在评论中的提的建议,自己也思考了下,确实是那个道理.在urltemplate中,定 ...

  8. restful 架构风格的curd(增删改查)

    restful架构 概念:REST指的是一组架构约束条件和原则,如果一个架构符合REST的约束条件和原则,就称之为RESTful架构. restful不是一个专门的技术,他是一个规范.规范就是写写代码 ...

  9. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

随机推荐

  1. 搭建自己的docker仓库

    https://docs.docker.com/registry/deploying/#run-a-local-registry https://docs.docker.com/registry/in ...

  2. C语言之冒泡排序、选择排序、折半查询、进制查表

    菜单导航 1.冒泡排序 2.选择排序 3.折半查询 4.进制查表(十进制转二进制.八进制.十六进制) 一.冒泡排序 //1.冒泡排序 /** 一组无序数字,进行从小到大排序 冒泡排序的过程:就是每个循 ...

  3. maya cmds pymel polyEvaluate 获取 bounding box

    maya cmds pymel polyEvaluate 获取 bounding box cmds.polyEvaluate(bc = 1)   #模型 cmds.polyEvaluate(bc2 = ...

  4. linux同步Internet时间

    输入ntpdate time.nist.gov同步网络时间 如果未安装:yum install ntpdate 结果:3 Jun 15:42:39 ntpdate[4721]: adjust time ...

  5. HDU 1385 Minimum Transport Cost (输出字典序最小路径)【最短路】

    <题目链接> 题目大意:给你一张图,有n个点,每个点都有需要缴的税,两个直接相连点之间的道路也有需要花费的费用.现在进行多次询问,给定起点和终点,输出给定起点和终点之间最少花费是多少,并且 ...

  6. Person Re-ID行人重试别梳理

    定义 是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术.给定一张切好块的行人图像 (probe image,), 从一大堆切好块的图像 (gallery images) 中找到同一身份 ...

  7. 004.Ansible Ad-Hoc命令集

    一 Ad-Hoc使用场景 Ad-Hoc更倾向于解决简单.临时性任务. 1.1 Ad-Hoc基础命令 基本语法: 1 ansible <host-pattern> [options] < ...

  8. python简单名片管理系统

  9. 错误代码:0x80070032 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    错误分析: vs2010默认采用的是.NET 4.0框架,4.0框架是独立的CLR,和.NET 2.0的不同,如果想运行.NET 4.0框架的网站,需要用aspnet_regiis注册.NET 4.0 ...

  10. Yahoo Programming Contest 2019.D.Ears(DP)

    题目链接 菜爆了啊QAQ 记起点为\(S\),终点为\(T\),走过的最靠左的点是\(L\),最靠右的点是\(R\). 那么坐标轴被分成了五段: \(0\sim L-1\):经过\(0\)次: \(L ...