jsp添加功能

1.dao类相应添加方法:

 /**
     * 2.添加员工
     * @param employee
     */
    public boolean save(Employee employee){
        StringBuffer sql=new StringBuffer("insert into employee"+" values(emp_seq.nextval,?,?,?,?,?,?,?)");

        try (Connection conn = JdbcUtil.getConnection();
             PreparedStatement ps = conn.prepareStatement(sql.toString())
        ) {
            ps.setString(1,employee.getEname());
            ps.setString(2,employee.getJob());

            if (employee.getMgr()!=null){
                ps.setInt(3,employee.getMgr());
            }else {
                ps.setInt(3,Types.INTEGER);
            }

            if (employee.getHiredate()!=null){
                ps.setDate(4, new java.sql.Date(employee.getHiredate().getTime()));
            }else {
                ps.setNull(4, Types.DATE);
            }
            ps.setDouble(5,employee.getSal());

            if (employee.getComm()!=null){
                ps.setDouble(6,employee.getComm());
            }else {
                ps.setDouble(6,Types.DOUBLE);
            }

            ps.setInt(7,employee.getDeptno());
            int row = ps.executeUpdate();
            return row==1?true:false;


        } catch (SQLException e) {
            System.out.println("添加员工失败:"+e.getMessage());
        }
        return false;
    }

2.做添加处理的jsp页面doAddEmployee.jsp:

<%
   // request.setCharacterEncoding("utf-8");
    // 获取请求参数
    String ename=request.getParameter("ename");
    String job=request.getParameter("job");
    String mgr=request.getParameter("mgr");
    String hiredate=request.getParameter("hiredate");
    String sal=request.getParameter("sal");
    String comm=request.getParameter("comm");
    String deptno=request.getParameter("deptno");

    // 将请求参数封装成实体
    Employee employee=new Employee();
    employee.setEname(ename);
    employee.setJob(job);
    if (StringUtils.isNotBlank(mgr)){
        employee.setMgr(Integer.valueOf(mgr));
    }
    if (StringUtils.isNotBlank(hiredate)){
        Date date = DateUtils.parseDate(hiredate, "yyyy-MM-dd", "yyyy/MM/dd");
        employee.setHiredate(date);
    }
    if (StringUtils.isNotBlank(sal)){
        employee.setSal(Double.valueOf(sal));
    }
    if (StringUtils.isNotBlank(comm)){
        employee.setComm(Double.valueOf(comm));
    }

    if (StringUtils.isNotBlank(deptno)){
        employee.setDeptno(Integer.valueOf(deptno));
    }
    boolean save = new EmployeeDao().save(employee);
    if (save){
        // 采用重定向,否则如果客户端重新加载的话,会重复提交表单
        response.sendRedirect(request.getContextPath()+"/doQueryForm.jsp");
    }else {
        response.sendRedirect(request.getContextPath()+"/addEmployee.jsp?result=0");
    }

%>

3.做添加的页面addEmployee.jsp:

<%@ page import="org.apache.commons.lang3.StringUtils" %><%--
  Created by IntelliJ IDEA.
  User: shen
  Date: 2019/7/31
  Time: 18:47
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加员工</title>
    <!-- 引入 Bootstrap -->
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>

    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<br>
<div class="container">
    <%
        if (StringUtils.equalsIgnoreCase(request.getParameter("result"),("0"))){

    %>
    <div class="row">
        <div class="col-sm-8 col-sm-offset-2">
            <div class="alert alert-danger alert-dismissable">
                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
                添加员工信息失败,请重新检查并提交。。。
            </div>
        </div>
    </div>
    <%
        }
    %>
    <div class="row">
        <div class="col-sm-8 col-sm-offset-2">
            <form class="form-horizontal" action="doAddEmployee.jsp" method="get">
                <div class="form-group">
                    <label for="inputEmpno" class="col-sm-2 control-label">员工编号</label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" id="inputEmpno" disabled placeholder="员工编号系统自动生成" />
                    </div>
                </div>
                <div class="form-group">
                    <label for="ename" class="col-sm-2 control-label">姓名</label>
                    <div class="col-sm-10">
                        <input type="text" name="ename" class="form-control" id="ename" placeholder="请输入姓名"
                               required/>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputJob" class="col-sm-2 control-label">工作</label>
                    <div class="col-sm-10">
                        <input type="text" name="job" class="form-control" id="inputJob" placeholder="请输入工作" required/>
                    </div>
                </div>
                <div class="form-group">
                    <label for="mgr" class="col-sm-2 control-label">经理</label>
                    <div class="col-sm-10">
                        <select name="mgr" class="form-control" id="mgr" >
                            <option value="">--请选择--</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputHiredate" class="col-sm-2 control-label">入职日期</label>
                    <div class="col-sm-10">
                        <input type="date" name="hiredate" class="form-control" id="inputHiredate" placeholder="请输入入职日期"/>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputSal" class="col-sm-2 control-label">工资</label>
                    <div class="col-sm-10">
                        <input type="text" name="sal" class="form-control" id="inputSal" placeholder="请输入工资" required/>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputComm" class="col-sm-2 control-label">奖金</label>
                    <div class="col-sm-10">
                        <input type="text" name="comm" class="form-control" id="inputComm" placeholder="请输入奖金"/>
                    </div>
                </div>
                <div class="form-group">
                    <label for="deptno" class="col-sm-2 control-label">部门</label>
                    <div class="col-sm-10">
                        <select name="deptno" class="form-control" id="deptno" required>
                            <option value="">--请选择--</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-primary">保存</button>
                        <button type="reset" class="btn btn-default">重置</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<script src="js/jquery-2.2.4.js"></script>
<script>
    $(function () {
        $.getJSON("loadEmployeeMgr.jsp",{},function (res) {
            let mgrSelect = $('#mgr');
            console.log(res);
            res.forEach((ele)=>{
                const option = new Option(ele.ename,ele.empno);
                mgrSelect.append(option);
            });
        });


    });
</script>
<script>
    $(function () {
        $.getJSON("loadDepartment.jsp",{},function (res) {

            // 获取下拉列表框
            let deptnoSelect=$('#deptno');

            // 循环每一个查询出来的json
            res.forEach((ele)=>{
                /*const option='<option value="+ele.deptno">'+ele.dname+'</option>';*/
                const option = new Option(ele.dname,ele.deptno);

                // 将option加入到下拉列表
                deptnoSelect.append(option);
            });
        });

    })
</script>

</body>
</html>

4.运行结果:

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值