ssm框架创建简单的DVD管理系统(五)页面的实现同时完成controller层

该系统包含用户界面、管理员界面及租赁记录等功能。用户可查询、租借DVD,管理员能编辑、添加DVD并查看租赁记录。

一.页面的实现
1.index.jsp页面
提示:
css引用了css/style.css
js引用了js/loginAndregist.js

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
    pageContext.setAttribute("PATH",request.getContextPath());
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LoginUser</title>
<link href="${PATH}/static/css/style.css" rel="stylesheet" type="text/css" media="all">
<script type="text/javascript" src="${PATH}/static/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="${PATH}/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="${PATH}/static/bootstrap-3.3.7-dist/css/bootstrap.min.css"/>

</head>
<body>
<!--注册框  -->
<!-- Modal -->
<div class="modal fade" id="regist_Modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">

      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">用户注册</h4>
      </div>

      <div class="modal-body">
       <form class="form-horizontal" id="model_form">
          <div class="form-group">
            <label  class="col-sm-2 control-label">用户名称</label>
            <div class="col-sm-10">
              <input type="text" class="form-control" name="uname" id="Resign_uname" placeholder="uname">
              <span  class="help-block"></span>
            </div>
          </div>
          <div class="form-group">
            <label  class="col-sm-2 control-label">用户密码</label>
            <div class="col-sm-10">
              <input type="password" class="form-control" name="upass" id="Resign_password" placeholder="password">
                <span  class="help-block"></span>
            </div>
          </div>
          <div class="form-group">
              <label class="radio-inline">
                <input type="radio" name="type" id="Resign_type" value="0" checked>
                 普通用户
              </label>
              <label class="radio-inline">
                <input type="radio" name="type" id="Resign_type" value="1">
                管理员用户
              </label>
            </div>
        </form>
    </div>     
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" id="resigin_adduser">注册</button>
        <button type="button" class="btn btn-default" id="resigin_close" data-dismiss="modal">关闭</button>
      </div>
    </div>
  </div>
</div>
<!-- 主界面 -->
<h1>DVD系统登录界面</h1>
<div class="container">
    <div class="login">
        <h2>登 录</h2>
            <form id="form" name="form" action="#" method="post">
                <div>
                    <input id="uname" type="text" name="uname" placeholder="用户名">
                    <span  class="help-block"></span>
                 </div>
                 <div>
                    <input id="upass" type="password" name="upass" placeholder="密码">
                    <span  class="help-block"></span>
                </div>
                <div>
                    <input  type="radio" name="type" value="0" checked="checked">普通用户
                    <input  type="radio" name="type" value="1">管理员用户
                    <span  class="help-block"></span>
                </div>

                <div class="send-button">
                    <input id="login_btn" type="button" value="登 录"  >
                    <input id="regist_btn" type="button" value="注 册"  >
                </div>
            </form> 
    </div>
</div>
</body>
<script  src="${PATH}/static/js/loginAndregist.js" charset="utf-8"></script>
</html>

2.user.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户界面</title>
<%
    pageContext.setAttribute("PATH",request.getContextPath());
%>

<script type="text/javascript" src="${PATH}/static/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="${PATH}/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="${PATH}/static/bootstrap-3.3.7-dist/css/bootstrap.min.css"/>
</head>
<body>
    <!--导航条  -->

    <nav class="navbar navbar-inverse" role="navigation">
            <div class="container-fluid">
                <div class="collapse navbar-collapse" id="example-navbar-collapse">
                    <ul class="nav navbar-nav navbar-right">
                         <li><a id="welcome_username"></a>
                        </li>
                        <li><a href="#">安全退出</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
        <!--主体  -->
        <div class="container-fluid">
            <div class="row">
                <!-- 左侧菜单 -->
                <div class="col-sm-2">
                    <button  class="list-group-item "  id="search_dvd_result">DVD查询租赁操作</button>
                    <button  class="list-group-item " id="search_record_result">DVD租赁记录查询</button>
                </div>
                <!-- 右侧主体 -->
                <div class="col-sm-10">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                             搜索
                        </div>
                        <div class="panel-body">
                            <form role="form" class="form-inline">
                                <div class="form-group">
                                    <label for="name">状态</label>
                                    <select class="form-control" id="select_val">
                                        <!-- 


                                        -->
                                    </select>
                                </div>
                                <div class="form-group">
                                    <button type="button" class="btn btn-default" id="search">开始搜索</button>
                                </div>
                            </form>
                        </div>
                    </div>
                   <!--表格  -->
                    <div class="row">
                        <div class="col-md-12">
                            <table class="table table-hover" id="dvd_table">
                                <thead>
                                    <!--表头内容  -->
                                </thead>
                                <tbody>
                                    <!--表格内容ajax生成 -->
                                </tbody>
                            </table>
                        </div>
                    </div>
                    <!-- 页码信息 -->
                    <div class="row">
                        <div class="col-md-6" id="page-info-area"></div>
                        <div class="col-md-6" id="page-nav-area"></div>
                    </div>
                </div>
                <script type="text/javascript">
                    var allpage;//总页
                    var currentpage;//当前页
                    var change=0;//左侧按钮
                    var select_val=0;
                    var uid=sessionStorage.getItem("uid");
                    var uname=sessionStorage.getItem("uname");
                    /*页面加载完发送请求  */
                    $(function() {
                        $("#welcome_username").append("欢迎您,"+uname);
                        to_page(1,select_val);
                    });
                    /*左侧按钮0  */
                    $("#search_dvd_result").click(function(){
                        change=0;
                        to_page(1,select_val);
                    });
                    /*左侧按钮1  */
                    $("#search_record_result").click(function(){
                        change=1;
                        to_page(1,select_val);
                    });
                    /*  查询  */
                    $("#search").click(function(){
                        select_val=$("#select_val").val();
                        to_page(1,select_val);
                    });
                    function select(){
                        if (select_val==0) {
                            $("#select_val").find("option:eq(0)").attr("selected","selected");
                        }else if (select_val==1) {
                            $("#select_val").find("option:eq(1)").attr("selected","selected");
                        }else if (select_val==2) {
                            $("#select_val").find("option:eq(2)").attr("selected","selected");
                        }else {
                            $("#select_val").find("option:eq(3)").attr("selected","selected");
                        }

                    }
                    /* 到达页面 */
                    function to_page(pn,select_val) {
                        if (change==0) {
                            $.ajax({
                                url:"${PATH}/dvdshow.do",
                                data:"select_val="+select_val+"&pn="+pn,
                                type:"get",
                                contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                success:function(result){
                                    build_thead_select();
                                    build_dvd_table(result);
                                    build_page_info(result);
                                    build_page_nav(result);
                                }
                            });
                        }else {
                            $.ajax({
                                url:"${PATH}/recordshow.do",
                                data:"pn=" + pn+"&select_val="+select_val+"&uname="+uname,
                                type:"post",
                                contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                success:function(result){
                                    build_thead_select();
                                    build_record_table(result);
                                    build_page_info(result);
                                    build_page_nav(result);
                                }
                            });
                        }

                    }
                    /* 显示表头和选项 */
                    function build_thead_select(){
                        $("#dvd_table thead").empty();
                        $("#select_val").empty();
                        if (change==0){
                            /* 表头 */
                            $("<tr></tr>").append($("<td>DVD序列号</td>"))
                            .append($("<td>DVD名称</td>")).append($("<td>租借次数</td>"))
                            .append($("<td>状态</td>")).append($("<td>操作</td>"))
                            .appendTo("#dvd_table thead");
                            /*下拉框 */                
                            $("#select_val").append("<option value='0'>全部DVD</option>")
                            .append("<option value='1'>可借DVD</option>")
                            .append("<option value='2'>已借DVD</option>")
                            .append("<option value='3'>热门DVD</option> ");
                            select();
                        }else{
                            /* 表头 */
                            $("<tr></tr>").append($("<td>记录序列号</td>"))
                            .append($("<td>DVD名称</td>"))
                            .append($("<td>借用日期</td>")).append($("<td>归还日期</td>"))
                            .appendTo("#dvd_table thead");
                            /*下拉框*/             
                            $("#select_val").append("<option value='0'>所有租赁记录</option>")
                            .append("<option value='1'>未归还租赁记录</option>")
                            .append("<option value='2'>已归还租赁记录</option>");
                            select();
                        }
                    }
                    /*显示表体 record*/
                    function build_record_table(result){
                        $("#dvd_table tbody").empty();
                        var dvd=result.extend.PageInfo.list;
                        $.each(dvd,function(index,item){
                            var id=$("<td></td>").append(item.id);
                            var dname=$("<td></td>").append(item.dname);
                            var lendtime=$("<td></td>").append(item.lendTime);
                            var returntime=$("<td></td>").append(item.returnTime);

                            $("<tr></tr>").append(id)
                            .append(dname).append(lendtime)
                            .append(returntime)
                            .appendTo("#dvd_table tbody");
                        });
                    }
                    /*显示表体 DVD */
                    function build_dvd_table(result) {
                        $("#dvd_table tbody").empty();
                        var dvd=result.extend.PageInfo.list;
                        $.each(dvd,function(index,item){
                            var did=$("<td></td>").append(item.id);
                            var dname=$("<td></td>").append(item.dname);
                            var dcount=$("<td></td>").append(item.dcount);
                            var lendbutton=$("<button></button>").addClass("btn btn-danger btn-sm")
                            .append($("<span></span>").addClass("glyphicon glyphicon-pawn")).append("租DVD");
                            //为当前按钮添加一个自定义属性,表明id
                            lendbutton.attr("lend_id",item.id);
                            var returnbutton=$("<button></button>").addClass("btn btn-success btn-sm ")
                            .append($("<span></span>").addClass("glyphicon glyphicon-tent")).append("还DVD");
                            //为当前按钮添加一个自定义属性,表明id
                            returnbutton.attr("return_id",item.id);
                            if (item.status==0) {
                                returnbutton.addClass("return_btn");
                                var status=$("<td></td>").append("已借");
                            }else{
                                lendbutton.addClass("lend_btn");
                                var status=$("<td></td>").append("可借");
                            }
                            var twobutton=$("<td></td>").append(lendbutton).append(" ").append(returnbutton);
                            $("<tr></tr>").append(did)
                            .append(dname).append(dcount)
                            .append(status).append(twobutton)
                            .appendTo("#dvd_table tbody");
                        });
                    }
                    /*显示分页条信息 */
                    function build_page_info(result){
                        $("#page-info-area").empty();
                        $("#page-info-area").append("当前"+result.extend.PageInfo.pageNum
                                +"页,总"+result.extend.PageInfo.pages
                                +"页,总"+result.extend.PageInfo.total+"条记录");
                        allpage=result.extend.PageInfo.pages+1;
                    }
                    /*显示分页条  */
                    function build_page_nav(result){
                        //当前页
                        currentpage=result.extend.PageInfo.pageNum;
                        $("#page-nav-area").empty();
                        var ul=$("<ul></ul>").addClass("pagination");
                        var firstpageli=$("<li></li>").append($("<a></a>").append("首页").attr("href","#"));
                        var prepageli=$("<li></li>").append($("<a></a>").append("&laquo;"));
                        /*逻辑判断  */
                        if(result.extend.PageInfo.hasPreviousPage==false){
                            firstpageli.addClass("disabled");
                            prepageli.addClass("disabled");
                        }else {
                            firstpageli.click(function() {
                                to_page(1,select_val);
                            });
                            prepageli.click(function() {
                                to_page(result.extend.PageInfo.pageNum-1,select_val);
                            });
                        }
                        var nextpageli=$("<li></li>").append($("<a></a>").append("&raquo;"));
                        var lastpageli=$("<li></li>").append($("<a></a>").append("末页").attr("href","#"));
                        /*逻辑判断  */
                        if(result.extend.PageInfo.hasNextPage==false){
                            nextpageli.addClass("disabled");
                            lastpageli.addClass("disabled");
                        }else {
                            nextpageli.click(function() {
                                to_page(result.extend.PageInfo.pageNum+1,select_val);
                            });
                            lastpageli.click(function() {
                                to_page(result.extend.PageInfo.pages,select_val);
                            });
                        }
                        ul.append(firstpageli).append(prepageli);
                        $.each(result.extend.PageInfo.navigatepageNums,function(index,item){
                            var numli=$("<li></li>").append($("<a></a>").append(item));
                            if (result.extend.PageInfo.pageNum==item) {
                                numli.addClass("active");
                            }else {
                                numli.click(function () {
                                    to_page(item,select_val);
                                });
                            }
                            ul.append(numli);
                        });
                        ul.append(nextpageli).append(lastpageli);
                        var navEle=$("<nav></nav>").append(ul);
                        $("#page-nav-area").append(navEle);
                    }
                        /* 借DVD */
                        $(document).on("click",".lend_btn",function(){
                            var id=$(this).attr("lend_id");
                            var dname=$(this).parents("tr").find("td:eq(1)").text();
                            if(confirm("确认要租借【"+dname+"】吗")){
                                $.ajax({
                                    url:"${PATH}/lend.do",
                                    data:"id="+id,
                                    type:"post",
                                    success:function(result){
                                        /* $(this).next("button").removeClass("return_btn"); */
                                        to_page(currentpage, select_val);
                                    }
                                });
                            }

                        });
                        /* 还DVD */
                        $(document).on("click",".return_btn",function(){
                            var did=$(this).attr("return_id");
                            var dname=$(this).parents("tr").find("td:eq(1)").text();
                            if(confirm("确认要归还【"+dname+"】吗")){
                                $.ajax({
                                    url:"${PATH}/return.do",
                                    data:"uid="+uid+"&did="+did,
                                    type:"post",
                                    success:function(result){
                                        to_page(currentpage, select_val);
                                    }
                                });
                            }

                        });
                </script>

</body>
</html>

3.admin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script type="text/javascript" src="/ssm-web/static/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="/ssm-web/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="/ssm-web/static/bootstrap-3.3.7-dist/css/bootstrap.min.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>管理员界面</title>
<%
    pageContext.setAttribute("PATH",request.getContextPath());
%>
</head>
<body>  
    <!--DVD编辑模态框  -->
    <div class="modal fade" id="editdvdModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <!-- 标题 -->
            <h4 class="modal-title" id="myModalLabel">DVD编辑</h4>
            </div>
            <!-- 内容 -->
           <div class="modal-body">
                <form class="form-horizontal" id="edit_from">
                <div class="form-group">
                    <label class="col-sm-2 control-label">DVD序列</label>                
                     <div class="col-sm-10">
                          <p class="form-control-static" id="dvd_edit_id" ></p>
                       <span  class="help-block"></span>
                    </div>
                  </div>
                  <div class="form-group">
                    <label  class="col-sm-2 control-label" >DVD名称</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control"  name="dname" id="dvd_edit_dname" placeholder="dvd_name">
                       <span  class="help-block"></span>
                    </div>
                  </div>
                  <div class="form-group">
                    <label  class="col-sm-2 control-label" >租借次数</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control"  name="dcount" id="dvd_edit_dcount" placeholder="dvd_count">
                       <span  class="help-block"></span>
                    </div>
                  </div>
                  <div class="form-group">
                    <label  class="col-sm-2 control-label" >租借状态</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control"  name="status" id="dvd_edit_status" placeholder="dvd_status">
                       <span  class="help-block"></span>
                    </div>
                  </div>
                </form>
            </div>
           <!-- 选择 -->
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" id="dvd_edit_btn">编辑</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>   
          </div>
        </div>
      </div>
</div>
    <!--DVD增添模态框  -->
    <div class="modal fade" id="adddvdModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <!-- 标题 -->
            <h4 class="modal-title" id="myModalLabel">DVD增添</h4>
            </div>
            <!-- 内容 -->
           <div class="modal-body">
                <form class="form-horizontal" id="add_from">
                  <div class="form-group">
                    <label  class="col-sm-2 control-label" >dname</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control"  name="dname" id="dvd_name" placeholder="dvd_name">
                       <span id="helpBlock2" class="help-block"></span>
                    </div>
                  </div>
                </form>
            </div>
           <!-- 选择 -->
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" id="dvd_save_btn">保存</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>   
          </div>
        </div>
      </div>
</div>
    <!--导航条  -->
    <nav class="navbar navbar-inverse" role="navigation">
            <div class="container-fluid">
                <div class="collapse navbar-collapse" id="example-navbar-collapse">
                    <ul class="nav navbar-nav navbar-right">
                        <li><a id="welcome_username"></a>
                        </li>
                        <li><a href="#">安全退出</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
        <!--主体  -->
        <div class="container-fluid">
            <div class="row">
                <!-- 左侧菜单 -->
                <div class="col-sm-2">
                    <button  class="list-group-item "  id="search_dvd_result">DVD查询租赁操作</button>
                    <button  class="list-group-item " id="search_record_result">DVD租赁记录查询</button>
                </div>
                <!-- 右侧主体 -->
                <div class="col-sm-10">
                    <div class="panel panel-default">
                       <div class="panel-heading">
                             搜索
                        </div>
                        <div class="panel-body">
                            <form role="form" class="form-inline">
                                <div class="form-group">
                                    <label id="con_lab">DVD名称</label>
                                    <input type="text" id="search_condition">
                                </div>
                                <div class="form-group">
                                    <button type="button" class="btn btn-default" id="search">条件查询</button>
                                    <button type="button" class="btn btn-default" id="search_all"></button>
                                </div>

                            <div class="form-group col-md-offset-4" id="two_button">
                                <!-- <button type="button" class="btn btn-success" id="add_dvd_model_btn" >新增DVD</button> -->
                            </div>
                            </form>
                        </div>
                    </div>

                   <!--表格  -->
                    <div class="row">
                        <div class="col-md-12">
                            <table class="table table-hover" id="dvd_table">
                                <thead>
                                    <!--表头内容  -->                                   
                                </thead>
                                <tbody>
                                    <!--表格内容ajax生成 -->
                                </tbody>
                            </table>
                        </div>
                    </div>
                    <!-- 页码信息 -->
                    <div class="row">
                        <div class="col-md-6" id="page-info-area"></div>
                        <div class="col-md-6" id="page-nav-area"></div>
                    </div>
                </div>
                <script type="text/javascript">
                    var allpage;//总页
                    var currentpage;//当前页
                    var change=0;//左侧按钮
                    var dname;
                    var uname=sessionStorage.getItem("uname");
                    /*页面加载完发送请求  */
                    $(function() {
                        $("#welcome_username").append("欢迎您,"+uname);
                        to_page(1);
                    });
                    /*左侧按钮0  */
                    $("#search_dvd_result").click(function(){
                        change=0;
                        to_page(1);
                    });
                    /*左侧按钮1  */
                    $("#search_record_result").click(function(){
                        change=1;
                        to_page(1);
                    });
                    /*  查询  */
                    $("#search").click(function(){
                        dname=$("#search_condition").val();
                        to_page(1);
                    });
                    $("#search_all").click(function(){
                        dname=undefined;
                        to_page(1);
                    });
                    function to_page(pn) {
                        if(change==0){
                            if (dname!=undefined) {
                                $.ajax({
                                    url:"/ssm-web/dvdcondition.do",
                                    data:"dname="+dname+"&pn="+pn,
                                    type:"get",
                                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                    success:function(result){
                                        build_thead_select();
                                        build_dvd_table(result);
                                        build_page_info(result);
                                        build_page_nav(result);
                                    }
                                });
                            }else {
                                $.ajax({
                                    url:"/ssm-web/dvdshow.do",
                                    data:"select_val=0"+"&pn="+pn,
                                    type:"get",
                                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                    success:function(result){
                                        build_thead_select();
                                        build_dvd_table(result);
                                        build_page_info(result);
                                        build_page_nav(result);
                                    }
                                });
                            }
                        }else {
                            if (dname!=undefined) {
                                $.ajax({
                                    url:"/ssm-web/recordcondition.do",
                                    data:"dname="+dname+ "&pn=" + pn,
                                    type:"post",
                                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                    success:function(result){
                                        build_thead_select();
                                        build_record_table(result);
                                        build_page_info(result);
                                        build_page_nav(result);
                                    }
                                });
                            }else {
                                $.ajax({
                                    url:"/ssm-web/recordall.do",
                                    data:"pn=" + pn,
                                    type:"post",
                                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                    success:function(result){
                                        build_thead_select();
                                        build_record_table(result);
                                        build_page_info(result);
                                        build_page_nav(result);
                                    }
                                });
                            }

                        }


                    }

                    /* 显示表头和选项 */
                    function build_thead_select(){
                        $("#dvd_table thead").empty();
                        $("#select_val").empty();
                        if (change==0) {
                            /* 表头 */
                            $("<tr></tr>").append($("<td>DVD序列号</td>"))
                            .append($("<td>DVD名称</td>")).append($("<td>租借次数</td>"))
                            .append($("<td>状态</td>")).append($("<td>操作</td>"))
                            .appendTo("#dvd_table thead");
                            /*搜索  */                
                            $("#search_all").text("所有DVD查询");
                            $("#two_button").html("<button type='button' class='btn btn-success' id='add_dvd_model_btn' >新增DVD</button>"); 

                        }else{
                            /* 表头 */
                            $("<tr></tr>").append($("<td>记录序列号</td>"))
                            .append($("<td>DVD名称</td>"))
                            .append($("<td>借用日期</td>")).append($("<td>归还日期</td>"))
                            .appendTo("#dvd_table thead");
                            /*搜索 */             
                            $("#search_all").text("所有记录查询");
                            $("#two_button").empty();

                        }
                    }
                    /*显示表体 record*/
                    function build_record_table(result){
                        $("#dvd_table tbody").empty();
                        var dvd=result.extend.PageInfo.list;
                        $.each(dvd,function(index,item){
                            var id=$("<td></td>").append(item.id);
                            var dname=$("<td></td>").append(item.dname);
                            var lendtime=$("<td></td>").append(item.lendTime);
                            var returntime=$("<td></td>").append(item.returnTime);

                            $("<tr></tr>").append(id)
                            .append(dname).append(lendtime)
                            .append(returntime)
                            .appendTo("#dvd_table tbody");
                        });
                    }
                    /*显示表格DVD  */
                    function build_dvd_table(result) {
                        $("#dvd_table tbody").empty();
                        var dvd=result.extend.PageInfo.list;
                        $.each(dvd,function(index,item){
                            var did=$("<td></td>").append(item.id);
                            var dname=$("<td></td>").append(item.dname);
                            var dcount=$("<td></td>").append(item.dcount);
                            if (item.status==0) {
                                var status=$("<td></td>").append("已借");
                            }else{
                                var status=$("<td></td>").append("可借");
                            }
                            var editbutton=$("<button></button>").addClass("btn btn-success btn-sm edit_btn")
                            .append($("<span></span>").addClass("glyphicon glyphicon-pencil")).append("编辑");
                            //为当前按钮添加一个自定义属性,表明id
                            editbutton.attr("edit_id",item.id);
                            var deletbutton=$("<button></button>").addClass("btn btn-danger btn-sm delete_btn")
                            .append($("<span></span>").addClass("glyphicon glyphicon-trash")).append("删除");
                            //为当前按钮添加一个自定义属性,表明id
                            deletbutton.attr("del_id",item.id);
                            var twobutton=$("<td></td>").append(editbutton).append(" ").append(deletbutton);
                            $("<tr></tr>").append(did)
                            .append(dname).append(dcount)
                            .append(status).append(twobutton)
                            .appendTo("#dvd_table tbody");
                        });
                    }
                    /*显示分页条信息 */
                    function build_page_info(result){
                        $("#page-info-area").empty();
                        $("#page-info-area").append("当前"+result.extend.PageInfo.pageNum
                                +"页,总"+result.extend.PageInfo.pages
                                +"页,总"+result.extend.PageInfo.total+"条记录");
                        allpage=result.extend.PageInfo.pages+1;
                    }
                    /*显示分页条  */
                    function build_page_nav(result){
                        //当前页
                        currentpage=result.extend.PageInfo.pageNum;
                        $("#page-nav-area").empty();
                        var ul=$("<ul></ul>").addClass("pagination");
                        var firstpageli=$("<li></li>").append($("<a></a>").append("首页").attr("href","#"));
                        var prepageli=$("<li></li>").append($("<a></a>").append("&laquo;"));
                        /*逻辑判断  */
                        if(result.extend.PageInfo.hasPreviousPage==false){
                            firstpageli.addClass("disabled");
                            prepageli.addClass("disabled");
                        }else {
                            firstpageli.click(function() {
                                to_page(1);
                            });
                            prepageli.click(function() {
                                to_page(result.extend.PageInfo.pageNum-1);
                            });
                        }
                        var nextpageli=$("<li></li>").append($("<a></a>").append("&raquo;"));
                        var lastpageli=$("<li></li>").append($("<a></a>").append("末页").attr("href","#"));
                        /*逻辑判断  */
                        if(result.extend.PageInfo.hasNextPage==false){
                            nextpageli.addClass("disabled");
                            lastpageli.addClass("disabled");
                        }else {
                            nextpageli.click(function() {
                                to_page(result.extend.PageInfo.pageNum+1);
                            });
                            lastpageli.click(function() {
                                to_page(result.extend.PageInfo.pages);
                            });
                        }
                        ul.append(firstpageli).append(prepageli);
                        $.each(result.extend.PageInfo.navigatepageNums,function(index,item){
                            var numli=$("<li></li>").append($("<a></a>").append(item));
                            if (result.extend.PageInfo.pageNum==item) {
                                numli.addClass("active");
                            }else {
                                numli.click(function () {
                                    to_page(item);
                                });
                            }
                            ul.append(numli);
                        });
                        ul.append(nextpageli).append(lastpageli);
                        var navEle=$("<nav></nav>").append(ul);
                        $("#page-nav-area").append(navEle);
                    }
                    /* modalk框 */
                    $(document).on("click","#add_dvd_model_btn",function(){
                        $("#adddvdModal").modal({
                            backdrop:"static"
                        });
                    });
                    function vatidate_add_from(){
                        var dname=$("#dvd_name").val();
                        var resdname=/(^[a-zA-Z0-9_-]{6,16}$)|(^[\u2E80-\u9FFF]{2,5})/;
                        if(!resdname.test(dname)){
                            show_vatidate_msg("#dvd_name","失败","dvd名称可以是6-16字母或2-5位中文");
                            return false;
                        }else {
                            show_vatidate_msg("#dvd_name","成功"," ");
                            return true;
                        }

                    }
                    //显示校验结果的信息
                    function show_vatidate_msg(ele,status,msg){
                        $(ele).parent().removeClass("has-error has-success");
                        $(ele).next().text("");
                        if(status=="失败"){
                            $(ele).parent().addClass("has-error");
                            $(ele).next("span").text(msg);
                        }else{
                            $(ele).parent().addClass("has-success");
                            $(ele).next("span").text(msg);
                        }
                    }
                    /*点击保存操作  */
                    $("#dvd_save_btn").click(function(){
                        /*发送ajax请求添加dvd  */
                        if (vatidate_add_from()) {
                            $.ajax({
                                url:"/ssm-web/dvd.do",
                                type:"post",
                                data:$("#add_from").serialize(),
                                contentType: 'application/x-www-form-urlencoded; charset=UTF-8',//防止乱码
                                success:function(result){
                                    $("#adddvdModal").modal('hide');
                                    to_page(allpage);
                                }
                            });
                        }   
                    });
                    /*点击删除  */
                    $(document).on("click",".delete_btn",function(){
                        //确认弹出删除窗口
                        var dname=$(this).parents("tr").find("td:eq(1)").text();
                        var id=$(this).attr("del_id");
                        if(confirm("确认删除【"+dname+"】吗")){
                            $.ajax({
                                url:"/ssm-web/dvd"+id+".do",
                                type:"delete",
                                success:function(result){
                                    alert(result.message);
                                    to_page(currentpage);
                                }

                            });
                        }

                    });
                    /* 点击编辑 */
                    $(document).on("click",".edit_btn",function(){
                        $("#editdvdModal").modal({
                            backdrop:"static"
                        });
                        var dname=$(this).parents("tr").find("td:eq(1)").text();
                        var dcount=$(this).parents("tr").find("td:eq(2)").text();
                        var status=$(this).parents("tr").find("td:eq(3)").text();              
                        var id=$(this).attr("edit_id");
                        $("#dvd_edit_id").text(id);
                        $("#dvd_edit_dname").val(dname);
                        $("#dvd_edit_dcount").val(dcount);
                        if (status=="已借") {
                            $("#dvd_edit_status").val(0);
                        }else {
                            $("#dvd_edit_status").val(1);
                        }           
                        $("#dvd_edit_btn").click(function(){                   
                                $.ajax({
                                    url:"/ssm-web/editdvd.do",
                                    type:"put",
                                    data:"id="+id+"&"+$("#edit_from").serialize(),
                                    success:function(result){                           
                                        alert(result.message);
                                        $("#editdvdModal").modal("hide");
                                        to_page(currentpage);
                                    }
                                });

                        });

                    });
            </script>
</body>
</html>

二.controller层的实现
1.DVDcontrollers

package com.pan.web.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pan.web.bean.DVD;
import com.pan.web.bean.Msg;
import com.pan.web.bizimpl.DVDBizImpl;

@Controller
public class DVDcontrollers {

    @Autowired
    private DVDBizImpl dvdBiz;

    /**
     * DVD表格展示
     * 
     * @param pn
     * @return
     */
    @RequestMapping("/dvdshow")
    @ResponseBody
    public Msg getDVDall(
            @RequestParam(value = "pn", defaultValue = "1") int pn,
            @RequestParam(value = "select_val",defaultValue="0") int select_val) {
        // 页码,每页大小,紧跟的查询时分页查询
        if (select_val==0) {
            //全部DVD
            PageHelper.startPage(pn, 5);
            List<DVD> allDVD = dvdBiz.queryAllDVD();
            // 用PageInfo对结果进行包装,连续显示5页
            PageInfo page = new PageInfo(allDVD, 5);
            return Msg.sucess().add("PageInfo", page);
        }else if(select_val==1) {
            //可借DVD
            PageHelper.startPage(pn, 5);
            List<DVD> canDVD = dvdBiz.canLendDVD();
            PageInfo page = new PageInfo(canDVD, 5);
            return Msg.sucess().add("PageInfo", page);
        }else if (select_val==2) {
            //已借DVD
            PageHelper.startPage(pn, 5);
            List<DVD> hasDVD = dvdBiz.hasLendDVD();
            PageInfo page = new PageInfo(hasDVD, 5);
            return Msg.sucess().add("PageInfo", page);
        }else {
            //热门DVD
            PageHelper.startPage(pn, 5);
            List<DVD> ranking_top_five = dvdBiz.ranking_top_five();
            PageInfo page = new PageInfo(ranking_top_five,5);
            return Msg.sucess().add("PageInfo", page);
        }

    }
    /**
     * dvd查询
     * 
     * @return
     */
    @RequestMapping(value = "/dvdcondition")
    @ResponseBody
    public Msg conditionDVD(String dname,int pn) {
        PageHelper.startPage(pn, 5);
        List<DVD> querDVDByName = dvdBiz.querDVDByName(dname);
        PageInfo page = new PageInfo(querDVDByName,5);
        return Msg.sucess().add("PageInfo", page);

    }
    /**
     * dvd编辑
     * 
     * @return
     */
    @RequestMapping(value = "/editdvd")
    @ResponseBody
    public Msg editdvd(DVD dvd) {
        boolean flag = dvdBiz.modifyDVD(dvd);
        return Msg.sucess();
    }
    /**
     * dvd保存
     * 
     * @return
     */
    @RequestMapping(value = "/dvd", method = RequestMethod.POST)
    @ResponseBody
    public Msg saveDVD(DVD dvd) {
        boolean flag = dvdBiz.addDVD(dvd);
        return Msg.sucess();
    }
    /**
     * 借DVD
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(value="/lend")
    public Msg lendDVD(@RequestParam(value="id")int id){
        int i = dvdBiz.lendDVD(id,1);
        if (i==2) {
            return Msg.sucess();
        }else {
            return Msg.fail();
        }
    }
    /**
     * 还DVD
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(value="/return")
    public Msg returnDVD(@RequestParam(value="uid")int uid,@RequestParam(value="did")int did){
        boolean flag = dvdBiz.returnDVD(uid, did);
        if (flag) {
            return Msg.sucess();
        }else {
            return Msg.fail();
        }

    }

    /**
     * dvd删除
     */
    @ResponseBody
    @RequestMapping(value = "/dvd{id}.do", method = RequestMethod.DELETE)
    public Msg deleteDVD(@PathVariable(value = "id") int id) {
        boolean flag = dvdBiz.deleteDVD(id);
        if (flag) {
            return Msg.sucess();
        } else {
            return Msg.fail();
        }

    }

}

2.LoginResignController

package com.pan.web.controller;

import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;



import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.pan.web.bean.Msg;
import com.pan.web.bean.User;
import com.pan.web.bizimpl.UserBizImpl;

@Controller
public class LoginResignController {
    @Autowired
    private UserBizImpl uImpl;


    @RequestMapping("/login")
    @ResponseBody
    public Msg login(User user) {
        String uname=user.getUname();
        String upass=user.getUpass();
        int type=user.getType();
        User loginuser=new User(uname, upass, type);
        if(uImpl.loginUser(loginuser)!=null){
            int uid = uImpl.loginUser(loginuser).getId();
            return Msg.sucess().add("uname", uname).add("uid", uid).add("type", type);          
        }else {
            return Msg.fail();
        }   
    }
    @RequestMapping("/resgin")
    @ResponseBody
    public Msg resgin(@Validated User user,BindingResult result) {
        Map<String, Object> map=new HashMap<>();
        System.out.println(result.hasErrors());
        if (result.hasErrors()) {
            //校验失败
            List<FieldError> fieldErrors = result.getFieldErrors();
            for (FieldError fieldError : fieldErrors) {
                System.out.println("错误的字段名"+fieldError.getField());
                System.out.println("错误的字段信息"+fieldError.getDefaultMessage());
                map.put(fieldError.getField(), fieldError.getDefaultMessage());
            }
            return Msg.fail().add("errorFileds", map);
        }else {
            int i = uImpl.registerUser(user);
            System.out.println(i);
            if(i==2){
                return Msg.sucess();
            }else {
                return Msg.fail();
            }   
        }

    }
    @RequestMapping("/checkuser")
    @ResponseBody
    public Msg checkuser(@RequestParam(value="uname")String uname) {
        boolean flag = uImpl.checkUser(uname);
        if (flag) {
            return Msg.sucess();
        }else {
            return Msg.fail();
        }
    }
}

3.recordontroller
package com.pan.web.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pan.web.bean.DVD;
import com.pan.web.bean.Msg;
import com.pan.web.bean.Record2;
import com.pan.web.bizimpl.RecordBizImpl;

@Controller
public class recordontroller {

@Autowired
private RecordBizImpl recordBiz;

@ResponseBody
@RequestMapping(value="/recordshow")
public Msg showrecord(@RequestParam(value = "pn", defaultValue = "1") int pn,
        @RequestParam(value = "select_val",defaultValue="0") int select_val,
        @RequestParam(value="uname")String uname){
    if (select_val==0) {
        //全部DVD
        PageHelper.startPage(pn, 5);
        List<Record2> queryAllRecord = recordBiz.queryAllRecord();
        // 用PageInfo对结果进行包装,连续显示5页
        PageInfo page = new PageInfo(queryAllRecord, 5);
        return Msg.sucess().add("PageInfo", page);
    }else if(select_val==1) {
        //可借DVD
        PageHelper.startPage(pn, 5);
        List<Record2> queryNoReturnRecord = recordBiz.queryNoReturnRecord(uname);
        PageInfo page = new PageInfo(queryNoReturnRecord, 5);
        return Msg.sucess().add("PageInfo", page);
    }else {
        //已借DVD
        PageHelper.startPage(pn, 5);
        List<Record2> queryHasReturnRecord = recordBiz.queryHasReturnRecord(uname);
        PageInfo page = new PageInfo(queryHasReturnRecord, 5);
        return Msg.sucess().add("PageInfo", page);
    }
}
@ResponseBody
@RequestMapping(value="/recordall")
public Msg showrecordMsg(@RequestParam(value = "pn", defaultValue = "1") int pn){
    //全部DVD
    PageHelper.startPage(pn, 5);
    List<Record2> queryAllRecord = recordBiz.queryAllRecord();
    // 用PageInfo对结果进行包装,连续显示5页
    PageInfo page = new PageInfo(queryAllRecord, 5);
    return Msg.sucess().add("PageInfo", page);
}
@ResponseBody
@RequestMapping(value="/recordcondition")
public Msg conditionrecord(String dname,int pn) {
    PageHelper.startPage(pn, 5);
    List<Record2> queryDVDRecords = recordBiz.queryDVDRecords(dname);
    PageInfo page = new PageInfo(queryDVDRecords,5);
    return Msg.sucess().add("PageInfo", page);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值