员工管理系统————员工修改模块

1.分析

  1.点击修改,跳转到修改的页面,点击哪个,则获取哪个员工的信息,即默认修改页面的值。

  2.点击确认修改,修改完成后重定向到管理员工页面。如图:

2.步骤

  a.在接口中声明去修改和修改的方法

  b.实现接口中的方法

  c.点击修改跳转Update.jsp

  d.Update.jsp提交请求参数

  e.servlet获取请求参数

  f.调用dao,将修改后的数据添加到数据库中

  g.重定向到员工管理(“/emp”),执行查询所有员工,显示到页面。

代码:

a:

IEmpDAO.java

b:

EmpDAOImpl.java

c:

emp.jsp

ToUpdateEmpServlet.java

@WebServlet("/toUpdate")
public class ToUpdateEmpServlet extends HttpServlet {
    /*去修改:用户点击修改按钮请求到达此servlet
    * 获取当前要修改员工的数据,共享给jsp,请求转发
    * */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       /*获取请求参数id*/
        String id = req.getParameter("id");
        /*根据id获取员工数据*/
        EmpDAOImpl dao=new EmpDAOImpl();
        Map<String, Object> emp = dao.getEmp(Integer.parseInt(id));
        /*请求共享数据(此处我们共享的是一个map不是一个List<map>)*/
        req.setAttribute("emp",emp);
        /*请求转发到update.jsp*/
        req.getRequestDispatcher("update.jsp").forward(req,resp);
    }
}

d:

update.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <head>
        <title>修改</title>
        <style type="text/css">
            fieldset{width: 300px;margin: 100px auto;}
        </style>
    </head>
<body>
<fieldset id="">
    <legend>修改员工</legend>
    <form action="/day49/update" method="post">
        <input  type="hidden"   name="id" value="${emp.id}"   />
        <div>
            员工姓名: <input name="name" value="${emp.name}" />
        </div>
        <div>
            员工手机: <input name="telephone" value="${emp.telephone}" />
        </div>

        <div>
            员工部门:
            <select name="deptID" id="deptID" >
                <option value="1"   ${emp.deptID==1?"selected":""}     >总经办</option>
                <option value="2"   ${emp.deptID==2?"selected":""}     >人事部</option>
                <option value="3"   ${emp.deptID==3?"selected":""}     >业务部</option>
            </select>
        </div>
        <div>
            员工角色:
            <select name="roleID" id="roleID" >
                <option value="1" id="r1">超级管理员</option>
                <option value="2" id="r2">员工管理员</option>
                <option value="3" id="r3">业务管理员</option>
            </select>


        </div>
        <div>
            员工状态:
            <select name="state" >
                <option value="0" id="s0">离职</option>
                <option value="1" id="s1">在职</option>
            </select>
        </div>

        <button>修改</button>
    </form>

</fieldset>
<script>
    // 当前表单的表单元素 够不够
    // 让 角色下拉框中的   1 2 3
    document.getElementById("r"+${emp.roleID}).selected = "selected";
    document.getElementById("s"+${emp.state}).selected = "selected";
</script>

</body>
</html>

e,f,g:

UpdateEmpServlet.java

@WebServlet("/update")
public class UpdateEmpServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /*处理中文乱码*/
        req.setCharacterEncoding("UTF-8");
        /**获取请求参数*/
        String name = req.getParameter("name");
        String telephone = req.getParameter("telephone");
        String deptID = req.getParameter("deptID");
        String roleID = req.getParameter("roleID");
        String state = req.getParameter("state");
        String id = req.getParameter("id");
        /*生成员工对象*/
        Employee emp=new Employee(Integer.parseInt(id),name,telephone,Integer.parseInt(deptID),Integer.parseInt(roleID),Integer.parseInt(state));
        /*调用dao将数据添加到数据库中*/
        IEmpDAO dao=new EmpDAOImpl();
        dao.update(emp);
        /*重定向到/emp*/
       resp.sendRedirect("/day49/emp");
    }
}

  

猜你喜欢

转载自www.cnblogs.com/duguangming/p/10731857.html