1图书的查询功能

1.1点击图书馆里进行页面的跳转

Controller.java

 /**图书首页*/@GetMapping("/bookIndex")public String bookIndex(){return "book/bookIndex";}

1.2设置静态页面

bookIndex.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%String path=request.getContextPath();String basePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>图书管理</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><link rel="stylesheet" href="<%=basePath%>lib/layui-v2.5.5/css/layui.css" media="all"><link rel="stylesheet" href="<%=basePath%>css/public.css" media="all">
</head>
<body>
<div class="layuimini-container"><div class="layuimini-main"><div class="layuimini-main"><div class="demoTable"><div class="layui-form-item layui-form ">书名<div class="layui-inline"><input class="layui-input" name="name" id="name" autocomplete="off"></div>图书编号<div class="layui-inline"><input class="layui-input" name="isbn" id="isbn" autocomplete="off"></div>图书分类<div class="layui-inline"><select name="typeId" id="typeId" lay-verify="required"><option value="">请选择</option></select></div><button class="layui-btn" data-type="reload">高级查询</button><%--<button class="layui-btn" lay-submit data-type="reload"  lay-filter="queryBook">高级查询</button>--%></div></div></div><script type="text/html" id="toolbarDemo"><div class="layui-btn-container"><button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button><button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button></div></script><table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table><script type="text/html" id="currentTableBar"><a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a><a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a></script></div>
</div>
<script src="<%=basePath%>lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script>layui.use(['form', 'table'], function () {var $ = layui.jquery,form = layui.form,table = layui.table;table.render({elem: '#currentTableId',url: '<%=basePath%>bookAll',//查询图书数据toolbar: '#toolbarDemo',defaultToolbar: ['filter', 'exports', 'print', {title: '提示',layEvent: 'LAYTABLE_TIPS',icon: 'layui-icon-tips'}],cols: [[{type: "checkbox", width: 50},{field: 'id', width: 110, title: 'ID', sort: true},{field: 'isbn', width: 100, title: '图书编号'},//获取对象中的属性 对象{templet:'<div>{{d.classInfo.name}}</div>', width: 110, title: '图书类型'},{field: 'name', width: 150, title: '图书名称'},{field: 'author', width: 110, title: '作者'},{field: 'price', width: 110, title: '价格'},{field: 'language', width: 110, title: '语言'},{title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"}]],limits: [10, 15, 20, 25, 50, 100],limit: 15,page: true,skin: 'line',id:'testReload'});//动态获取图书类型的数据$.get("findAllList",{},function (data) {var list=data;var select=document.getElementById("typeId");if(list!=null|| list.size()>0){for(var c in list){var option=document.createElement("option");option.setAttribute("value",list[c].id);option.innerText=list[c].name;select.appendChild(option);}}form.render('select');},"json")var $ = layui.$, active = {reload: function(){var name = $('#name').val();var isbn= $('#isbn').val();var typeId= $('#typeId').val();//执行重载table.reload('testReload', {page: {curr: 1 //重新从第 1 页开始},where: {name:name,isbn:isbn,typeId:typeId}}, 'data');}};$('.demoTable .layui-btn').on('click', function(){var type = $(this).data('type');active[type] ? active[type].call(this) : '';});/*** tool操作栏监听事件*/table.on('tool(currentTableFilter)', function (obj) {var data=obj.data;if (obj.event === 'edit') {  // 监听添加操作var index = layer.open({title: '修改图书类型',type: 2,shade: 0.2,maxmin:true,shadeClose: true,area: ['100%', '100%'],content: '<%=basePath%>queryBookInfoById?id='+data.id,});$(window).on("resize", function () {layer.full(index);});} else if (obj.event === 'delete') {  // 监听删除操作layer.confirm('真的删除行么', function (index) {//调用删除功能deleteInfoByIds(data.id,index);layer.close(index);});}});//监听表格复选框选择table.on('checkbox(currentTableFilter)', function (obj) {console.log(obj)});/*** 获取选中记录的id信息*/function getCheackId(data){var arr=new Array();for(var i=0;i<data.length;i++){arr.push(data[i].id);}//拼接idreturn arr.join(",");};/*** 提交删除功能*/function deleteInfoByIds(ids ,index){//向后台发送请求$.ajax({url: "deleteBookByIds",type: "POST",data: {ids: ids},success: function (result) {if (result.code == 0) {//如果成功layer.msg('删除成功', {icon: 6,time: 500}, function () {parent.window.location.reload();var iframeIndex = parent.layer.getFrameIndex(window.name);parent.layer.close(iframeIndex);});} else {layer.msg("删除失败");}}})};/*** toolbar监听事件*/table.on('toolbar(currentTableFilter)', function (obj) {if (obj.event === 'add') {  // 监听添加操作var index = layer.open({title: '添加图书',type: 2,shade: 0.2,maxmin:true,shadeClose: true,area: ['100%', '100%'],content: '<%=basePath%>addBook',});$(window).on("resize", function () {layer.full(index);});} else if (obj.event === 'delete') {/*1、提示内容,必须删除大于0条2、获取要删除记录的id信息3、提交删除功能 ajax*///获取选中的记录信息var checkStatus=table.checkStatus(obj.config.id);var data=checkStatus.data;if(data.length==0){//如果没有选中信息layer.msg("请选择要删除的记录信息");}else{//获取记录信息的id集合var ids=getCheackId(data);layer.confirm('真的删除行么', function (index) {//调用删除功能deleteInfoByIds(ids,index);layer.close(index);});}}});});</script></body>
</html>

1.3Controller层实现分页查询

Controller.java

     /*** 获取图书信息*/@ResponseBody@RequestMapping("/bookAll")public R bookAll(BookInfo info, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "15") Integer limit){PageInfo<BookInfo> pageInfo=bookInfoService.queryBookInfoAll(info,page,limit);return R.ok("成功",pageInfo.getTotal(),pageInfo.getList());}

2图书高级查询

2.1

bookIndex.jsp

<div class="layuimini-main"><div class="demoTable"><div class="layui-form-item layui-form ">书名<div class="layui-inline"><input class="layui-input" name="name" id="name" autocomplete="off"></div>图书编号<div class="layui-inline"><input class="layui-input" name="isbn" id="isbn" autocomplete="off"></div>图书分类<div class="layui-inline"><select name="typeId" id="typeId" lay-verify="required"><option value="">请选择</option></select></div><button class="layui-btn" data-type="reload">高级查询</button><%--<button class="layui-btn" lay-submit data-type="reload"  lay-filter="queryBook">高级查询</button>--%></div></div></div>

2.2 获取图书的分类

bookIndex.jsp

 //动态获取图书类型的数据$.get("findAllList",{},function (data) {var list=data;var select=document.getElementById("typeId");if(list!=null|| list.size()>0){for(var c in list){var option=document.createElement("option");option.setAttribute("value",list[c].id);option.innerText=list[c].name;select.appendChild(option);}}form.render('select');},"json")

2.3在Controller中编写findAllList

TypeController.java

/***获取图书类型列表*/@ResponseBody@RequestMapping("/findAllList")public List<ClassInfo> findAll(){PageInfo<ClassInfo> pageInfo= classService.queryClassInfoAll(null,1,100);List<ClassInfo> lists=pageInfo.getList();return lists;}

2.4获取输入值渲染table

bookIndex.jsp

var $ = layui.$, active = {reload: function(){var name = $('#name').val();var isbn= $('#isbn').val();var typeId= $('#typeId').val();//执行重载table.reload('testReload', {page: {curr: 1 //重新从第 1 页开始},where: {name:name,isbn:isbn,typeId:typeId}}, 'data');}};$('.demoTable .layui-btn').on('click', function(){var type = $(this).data('type');active[type] ? active[type].call(this) : '';});

3图书的添加功能

3.1监听事件

bookIndex.jsp

  /*** toolbar监听事件*/table.on('toolbar(currentTableFilter)', function (obj) {if (obj.event === 'add') {  // 监听添加操作var index = layer.open({title: '添加图书',type: 2,shade: 0.2,maxmin:true,shadeClose: true,area: ['100%', '100%'],content: '<%=basePath%>addBook',});$(window).on("resize", function () {layer.full(index);});}

3.2在Contrller编写addBook

BookController.java

/*** 添加页面*/@GetMapping("/addBook")public String addBook(){return "book/addBook";}

3.3创建添加图书的静态界面

bookIndex.jsp界面所有

3.4页面添加工作的实现

/*** 实现添加功能*/@ResponseBody@RequestMapping("/addBookSubmit")public R addBookSubmit(@RequestBody BookInfo bookInfo  ){bookInfoService.addBookSubmit(bookInfo);return R.ok();}

图书管理系统——图书的查询功能/图书的添加功能相关推荐

  1. 图书管理系统的c实现用于图书信息的管理。

    图书管理系统的c实现 用于图书信息的管理.包括图书信息的创建.图书信息的打印.图书信息的查询.图书信息的修改.图书信息的删除.方便用户整理图书,查询图书. 这个图书管理系统是由单链表这一数据结构实现的 ...

  2. 图书管理系统 C语言链表实现 学校大作业功能齐全(书籍信息以及用户信息保存在附带的txt文件中)

    不废话直接附上源代码下载链接(一杯奶茶钱就能换一套图书管理系统哦~): C语言链表实现图书管理系统功能齐全(书籍信息以及用户信息保存在附带的txt文件中)-C文档类资源-CSDN文库 抱歉本人总是忘记 ...

  3. 图书管理系统java课设_JavaGUI图书管理系统(可作课程设计)

    图书管理系统 刚开始学Java本身写的一个小项目分享一下:mysql 源码连接:git 功能:系统分管理员界面与用户界面数据库 管理员:实现对图书的增.删.改.查,对全部借阅历史的搜索及全部帐户的信息 ...

  4. python图书管理系统增删改查_图书管理系统---增删改查

    此代码只考虑正确情况,未判断错误情况 package dboperate; import java.util.Scanner; import model.BookDB; import dboperat ...

  5. 图书管理系统python源代码-Python实现图书管理系统

    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 import mysql.connector import sys, os import time import ...

  6. java小项目图书管理系统_Java小项目迷你图书管理系统

    package迷你图书管理系统;importjava.util.Scanner;public classBookMgr {public static voidmain(String[] args) { ...

  7. 【JAVA项目实战】【图书管理系统】用户查询功能【Servlet】+【Jsp】+【Mysql】

  8. PyQt5图书管理系统练习(9)借书还书功能

    环境 系统:windows10系统 编辑器:PyCharm 编程语言:python3+pyqt5 借书逻辑分析 借书跟还书功能有点类似,都是采用的dialog来实现的,同时这个功能借鉴删除书籍的方法, ...

  9. C语言图书管理系统验证码,C语言的图书管理系统

    #include #include #include #define SIZE 100 typedef struct { int isbn; //书号 char name[100];//书名 floa ...

  10. 用c语言编程图书管理系统,C语言能写图书管理系统吗

    /*TC 3.0 编译 */ /*这不是类似于 VB 的 form 窗体 commandbutton 按钮 */ #include #include int main(void) { struct f ...

最新文章

  1. 决策树分类Decision tree classifier
  2. 和为s的两个数字与和为s的连续正数序列
  3. 通过一个图来简单描述一下 socket 链接建立以及通信的模型
  4. 使用JMH做Java微基准测试
  5. Lombok,一种编译时Java注释预处理器,可最大程度地减少代码大小
  6. php镂空窗,木窗镂空的雕刻象征着什么?黑色在彝族人民心中有何寓意?陆川猪为何是著名“陆川三宝”之一?...
  7. 一直被唱衰的 Java 没“死”,却惨遭“忽视”!
  8. android如何获取电视的存储空间,Android TV (二)(处理电视硬件)
  9. 七、Django之Views
  10. ZED2 ROS下bag包的录制与回放数据
  11. cc2530c语言教程,cc2530程序设计实例之CC2530 RF部分使用—实现点对点收发 - 全文...
  12. 计算机技术比武优秀获奖感言,教学大赛获奖感言4篇
  13. C++利用Zip库解压缩文件
  14. matlab 调整灰度,matlab灰度变换函数
  15. 嵌入式开发有年龄限制吗_32岁入门晚不晚?来听听这位70后程序员的故事
  16. ZeroTier-全网畅连
  17. 一种打印机控制电路及打印机的制作方法
  18. FreeRTOS记录(八、用软件定时器?还是硬件定时器?)
  19. jsDOM编程-小球在盒子里来回撞击
  20. win10无法连接这个网络的解决方案【亲测有效】

热门文章

  1. windows远程连接发生身份验证错误,提示要求的函数不受支持
  2. Mac电脑如何快速提取图片的文字?
  3. DSN 建立达梦7(DM)连接
  4. linux 解压.tar.gz文件
  5. 2022-FANUC0imc/D_三菱M70数控系统(常用参数对照表)
  6. 《无线电与电视》杂志创刊50周年纪念版耳机放大器 DIY笔记
  7. 基于python的人脸识别检测开题报告_人脸识别系统的研究与实现(开题报告+论文+源程序)...
  8. 访问学者初到加拿大需要怎么做?
  9. 【笨嘴拙舌WINDOWS】计时器精度
  10. 用马尔科夫链求首达时的一种方法--意料之外,情理之中