zoukankan      html  css  js  c++  java
  • springmvc实例之修改雇员相关信息(四)

    接上一节。

    • 首先是在List.jsp中点击编辑,然后在EmployeeHandler.java中有一个toEditEmployeePage方法,该方法接收传入过来的id,并把相关信息传给add.jsp界面。
    • 由于springmvc的form标签会自动进行回显,因此传入给add.jsp一个根据id得到的employee对象以及获取departments对象。
    • 可以和增加雇员信息共用一个add.jsp界面,但要进行相应的修改。
    • 我们默认是不修改lastname属性。
    • 为了使得更新时默认lastname属性保留原来的值,需要使用的ModelAttribute属性。

    首先是在EmployeeHandler.java中编写toEditEmployeePage方法:

        @RequestMapping(value="/emp/{id}",method=RequestMethod.GET)
        public String toEditEmployeePage(@PathVariable("id") Integer id,
                Map<String,Object> map) {
            map.put("employee", employeeDao.get(id));
            map.put("departments", departmentDao.getDepartments());
            return "add";
        }

    然后是在add.jsp中进行相应的修改:

        <form:form action="${pageContext.request.contextPath}/emp" method="POST" 
            modelAttribute="employee">
            <!-- path属性对应html标签的name属性 -->
            <c:if test="${employee.id == null}">
                LastName: <form:input path="lastName"/>
            </c:if>    
            <c:if test="${employee.id != null}">
                <form:hidden path="id"/>
                <input type="hidden" name="_method" value="PUT"/>
            </c:if>    

    首先是修改提交的路径:${pageContext.request.contextPath}/emp。一定要修改这然后是对传过来的employee的id进行判断,如果是空,则说明是添加操作,所以将lastname输入框添加到里面,如果不为空,则表明是修改操作,则需要隐藏一个id,用于传给后台用于获取原本雇员的名字。接着设置一个隐藏域,用于将POST请求转换为PUT请求。

    接下来在EmployeeHandler.java中编写更新方法update:

        @ModelAttribute
        public void getEmployee(@RequestParam(value="id",required=false) Integer id,
                Map<String,Object> map) {
            if(id != null) {
                map.put("employee", employeeDao.get(id));
            }
        }
        
        @RequestMapping(value="/emp",method=RequestMethod.PUT)
        public String update(Employee employee) {
            employeeDao.save(employee);
            return "redirect:/emps";
        }

    这里为了获得原有的lastname,需要用@ModelAttribute直接标识一个获得雇员信息的方法。

    启动服务器:

    点击最后一个Edit:

    并修改相应信息: 

     

    点击提交:

    相关信息已被修改,说明修改操作是成功的。 至此,springmvc的增删改查基本操作就已经全部完成了。

  • 相关阅读:
    AngularJs学习——常用表单指令练习
    JavaScript知识递归实现数组中指定后代元素的查找
    JavaScript知识之判断字符串中出现最多的字符及次数
    CSS3知识之立方体动画效果
    CSS知识之 background-size 用法详细介绍
    CSS知识之 background-position 用法详细介绍
    CSS3知识之filter滤镜效果
    CSS3知识之折角效果
    CSS3知识之阴影box-shadow
    JS利用 Sea.js 实现模块化:拖拽、缩放及范围限制
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12184807.html
Copyright © 2011-2022 走看看