一.页面的实现
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">×</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("«"));
/*逻辑判断 */
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("»"));
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">×</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">×</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("«"));
/*逻辑判断 */
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("»"));
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);
}
}