7.3 RESTful SpringMVC CRUD(三)

原创 2018年04月16日 22:50:30

用户数据更新

源码点我

1.input.jsp(修改和新增共用一个jsp)

<form:form action="${pageContext.request.contextPath }/emp" method="post" modelAttribute="employee">
        <!-- path属性对应html标签的name属性 -->
        名字:<form:input path="name"/>
        <br>

        <!-- 要求:不让员工修改邮箱信息 -->
        <!-- 新增用户请求可以添加邮箱信息 -->
        <c:if test="${employee.id == null }">
        邮箱:<form:input path="email"/>
        <br>
        </c:if>

        <!-- 修改用户请求不仅不能修改邮箱信息,还需要将post 请求转换为 put类型 -->
        <c:if test="${employee.id != null }">

            <form:hidden path="id" />
            <input type="hidden" name="_method" value="PUT">        

            <!-- 对于 _method 不能使用 from:hidden 标签,因为 modelAttribute 对应的bean中没有_method 这个属性,如果强行加上会报错 -->

        </c:if>
...

2.后台业务逻辑实现(比较有意思)

    /**
     * 
     * @MethodName: getEmp
     * @Description: TODO (每访问目标带有 pojo 入参的方法时,就会先调用这个带有 @ModelAttribute 注解的方法,来将 pojo类型的
     *                      对象(空白对象或者是从数据库查询的对象)率先放进springMVC的独有的map容器中)
     * @param id
     * @param map
     * @Return Type: void
     * @Author: zc-cris
     */
    @ModelAttribute
    public void getEmp(@RequestParam(value="id", required=false) Integer id, Map<String, Object> map) {
        if(id != null) {
            //说明前台传来的是修改请求
            Employee employee = this.empDao.getEmp(id);
            //将从数据库查询出来的对象放入到map容器中,默认会将空白的Employee 对象放进 Map
            map.put("employee", employee);
        }
    }


    /**
     * 
     * @MethodName: update
     * @Description: TODO (更新用户数据)
     * @return
     * @Return Type: String
     * @Author: zc-cris
     */
    @RequestMapping(value="emp", method=RequestMethod.PUT)
    public String update(Employee employee) {
        //这个目标方法的 pojo 类型参数如果没有 @ModelAttribute 注解修饰指定value,默认会以 pojo 第一个字母小写作为 key 去map容器中查找 该pojo 类型的对象
        this.empDao.save(employee);
        return "redirect:/list";
    }

    /**
     * 
     * @MethodName: input
     * @Description: TODO (先将用户查询出来并显示在页面上)
     * @return
     * @Return Type: String
     * @Author: zc-cris
     */
    @RequestMapping(value="emp/{id}", method=RequestMethod.GET)
    public String input(@PathVariable("id") Integer id, Map<String, Object> map) {
        Employee employee = empDao.getEmp(id);
        map.put("employee", employee);
        map.put("depts", this.deptDao.getDepts());
        return "input";
    }

3.EmpDao

    /**
     * 
     * @MethodName: getEmp
     * @Description: TODO (根据id查询员工对象用于更新)
     * @return
     * @Return Type: Employee
     * @Author: zc-cris
     */
    public Employee getEmp(Integer id) {
        return (Employee) this.emps.get(Integer.toString(id));
    }

4.java测试图:

mark

mark

SpringMVC 学习笔记(五) 基于RESTful的CRUD

当提交的表单带有_method字段时,通过HiddenHttpMethodFilter 将 POST 请求转换成 DELETE、PUT请求,加上@PathVariable注解从而实现 RESTful ...
  • a67474506
  • a67474506
  • 2015-06-04 16:02:41
  • 5990

springmvc之restful风格CRUD

  • 2015年04月27日 22:55
  • 4.41MB
  • 下载

SpringMVC 使用 RESTful 架构实现 CRUD 操作

  • 2017年04月26日 14:06
  • 173KB
  • 下载

Restful CRUD

图:链接                          图:employeeList.jsp       图:Spring MVC所有的标签 form:button, form:check...
  • woshisap
  • woshisap
  • 2015-04-01 22:42:30
  • 2033

SpringMVC学习(五)-RESTFUl_CRUD操作

使用SpringMVC静态模仿从数据提取数据完成CRUD操作重点知识详解:1.将post请求改为DELETE和PUT请求(将GET请求,通过JQUERY完成转化为DELETE请求)2.使用配置文件将g...
  • surpass0728
  • surpass0728
  • 2017-08-31 10:40:19
  • 106

Spring MVC 4 RESTFul Web Services CRUD例子(带源码)【这才是restful,超经典】

【本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看。源码下载地址在文章末尾。】 【翻译 by 明明如月 QQ 605283073】 原文地址:http://websyst...
  • w605283073
  • w605283073
  • 2016-05-07 18:57:35
  • 35993

Springmvc项目

  • 2017年12月25日 11:22
  • 11.6MB
  • 下载

Spring MVC 4 RESTFul Web Services CRUD Example+RestTemplate

原文路径:http://websystique.com/springmvc/spring-mvc-4-restful-web-services-crud-example-resttemplate/ ...
  • peter1220
  • peter1220
  • 2016-09-01 15:10:44
  • 537

【SpringMVC整合MyBatis】springmvc对RESTful支持

1.什么是RESTful RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 RESTful-表现层状态转换(即Repr...
  • u013517797
  • u013517797
  • 2015-08-15 11:35:45
  • 3391
收藏助手
不良信息举报
您举报文章:7.3 RESTful SpringMVC CRUD(三)
举报原因:
原因补充:

(最多只允许输入30个字)