目录

一、项目结构

二、前台代码

三、后台代码

四、运行效果:


一、项目结构

二、前台代码

editBook.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<div><form id="bookForm" method="post">   <input type="hidden" name="id" id="id"/><div style="margin: 15px;">   <label for="name">书名:</label>   <input class="easyui-textbox" name="bookname"  style="width:300px" data-options="required:true"> </div>   <div style="margin: 15px;">   <label for="price">价格:</label>   <input class="easyui-textbox" name="price"  style="width:300px" data-options="required:true"> </div><div style="margin: 15px;">   <label for="booktype">类型:</label>   <input class="easyui-textbox" name="booktype" style="width:300px" data-options="required:true"> </div>  </form>
</div>

bookList.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">
<%@ include file="../../common/head.jsp"%>
<title>Insert title here</title>
<script>
$(function(){$('#bookTable').datagrid({    url: ctx+'/BookServlet', pagination:true,singleSelect:true,queryParams: {"bookName": $("#bookName").val()},columns:[[    {field:'id',title:'书本ID',width:100},    {field:'bookname',title:'名称',width:100},    {field:'price',title:'价格',width:100,align:'right'},{field:'booktype',title:'类型',width:100,align:'right'}]],toolbar: '#bookTableToolbar'});$("#bookQry").click(function() {qryBook();});qryBook();function qryBook() {$('#bookTable').datagrid("load", {"bookName": $("#bookName").val()})};$("#addBookBtn").click(function() {openDialog();});$("#editBootBtn").click(function() {let row = $("#bookTable").datagrid("getSelected");openDialog(row);})$("#delBootBtn").click(function() {let row = $("#bookTable").datagrid("getSelected");if(!row) {$.messager.alert('消息','请选择要删除的记录');return;}$.ajax({url: ctx + '/bookDelServlet',type: 'post',data:{id: row.id},dataType: 'json',success: function(resp) {if(resp.success) {$.messager.alert('消息','操作成功');qryBook();}else{$.messager.alert('消息','操作不成功');}}})})function openDialog(row) {let title = "增加书本信息";let action = "/bookAddServlet"if(row) {title = "修改书本信息";action = "/bookUpdateServlet"}$('#bookDiglog').dialog({    title: title,    width: 400,    height: 250,    closed: false,    cache: false,    href: 'editBook.jsp',    modal: true,buttons:[{text:'保存',handler:function(){$.ajax({url:ctx + action,data: $("#bookForm").serialize(),type: 'post',dataType: 'JSON',success: function(resp) {if(resp.success) {$.messager.alert('消息','操作成功');$('#bookDiglog').dialog('close');qryBook();} else {$.messager.alert('警告','操作失败');    }}});}},{text:'关闭',handler:function(){$('#bookDiglog').dialog('close');}}],onLoad: function() {if(row) {$("#bookForm").form("reset");$("#bookForm").form("load", row);}}});}
});
</script>
</head>
<body><!-- 查询条件 --><div style="margin-top: 15px; margin-left:10px;"><input class="easyui-textbox" id="bookName" style="width:300px"><a id="bookQry" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a>  </div> <div id="p" class="easyui-panel" style="padding:10px" data-options="fit:true, border:false"><table id="bookTable" class="easyui-datagrid" style="width:100%;height:90%;"> </table></div><!-- 列表上方的工具条 --><div id="bookTableToolbar" style="text-align: right;"><a href="#" id="addBookBtn" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true"/a><a href="#" id="editBootBtn" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"/a><a href="#" id="delBootBtn" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true"/a></div><!-- 给弹出窗口定义一个容器,并默认为隐藏,在点击后再显示 --><div id="bookDiglog" style="display:none;"></div></body>
</html>

三、后台代码

BookDao:

package com.zking.demo.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import com.zking.demo.model.Book;
import com.zking.demo.util.DBHelper;public class BookDao implements IBookDao {@Overridepublic List<Book> getBooks(String name, int pageIndex, int pageSize) {Connection con = null;PreparedStatement ps = null;ResultSet rs = null;List<Book> list = new ArrayList<>();try {String sql = "select id,bookname,price,booktype,rownum as rid from t_book";if(name != null && !"".equals(name)) {sql += " where bookname like ?";}sql = "select * from (" + sql + ")b where b.rid between ? and ?";con = DBHelper.getsCon();ps = con.prepareStatement(sql);int start =(pageIndex-1)*pageSize+1;int end = pageIndex*pageSize;if(name != null && !"".equals(name)) {ps.setString(1, "%"+name+"%");ps.setInt(2, start);ps.setInt(3, end);} else {ps.setInt(1, start);ps.setInt(2, end);}rs = ps.executeQuery();while(rs.next()) {Book m = new Book();m.setId(rs.getInt("id"));m.setBookname(rs.getString("bookname"));m.setPrice(rs.getBigDecimal("price"));m.setBooktype(rs.getString("booktype"));list.add(m);}} catch (Exception e) {e.printStackTrace();} finally {DBHelper.Close(con, ps, rs);}return list;}@Overridepublic int getTotalPage() {Connection con = null;PreparedStatement ps = null;ResultSet rs = null;int n  = 0;try {con= DBHelper.getsCon();String sql = "select count(*) from  t_book";ps = con.prepareStatement(sql);rs= ps.executeQuery();if(rs.next()) {n = rs.getInt(1);}} catch (Exception e) {e.printStackTrace();}finally {DBHelper.Close(con, ps, rs);}return n;}@Overridepublic void addBook(Book book) {Connection con = null;PreparedStatement ps = null;String sql = "insert into t_book value (id,bookname,price, booktype) "+ "select max(id)+1,'"+ book.getBookname()+"','" + book.getPrice()+"','" + book.getBooktype()+"' from t_book";try {con = DBHelper.getsCon();ps = con.prepareStatement(sql);ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBHelper.Close(con, ps, null);}}@Overridepublic void updateBook(Book book) {Connection con = null;PreparedStatement ps = null;String sql = "update t_book set bookname=?, price=?,booktype=? where id=?" ;try {con = DBHelper.getsCon();ps = con.prepareStatement(sql);ps.setString(1, book.getBookname());ps.setBigDecimal(2, book.getPrice());ps.setString(3, book.getBooktype());ps.setInt(4, book.getId());ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBHelper.Close(con, ps,null);}}@Overridepublic int delBook(int id) {Connection con = null;PreparedStatement ps = null;int n = 0;String sql = "delete t_book where id=?" ;try {con = DBHelper.getsCon();ps = con.prepareStatement(sql);ps.setInt(1, id);n = ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBHelper.Close(con, ps,null);}return n;}public static void main(String[] args) {BookDao dao = new BookDao();List<Book> books = dao.getBooks("货", 1, 5);books.forEach(t -> System.out.println(t));}}

BookService:

package com.zking.demo.service;import java.util.List;import com.zking.demo.dao.BookDao;
import com.zking.demo.dao.IBookDao;
import com.zking.demo.model.Book;public class BookService implements IBookService {private IBookDao dao = new BookDao();@Overridepublic List<Book> getBooks(String name, int pageIndex, int pageSize) {return dao.getBooks(name, pageIndex, pageSize);}@Overridepublic int getTotalPage() {return dao.getTotalPage();}@Overridepublic void addBook(Book book) {dao.addBook(book);}@Overridepublic void updateBook(Book book) {dao.updateBook(book);}@Overridepublic int delBook(int id) {// TODO Auto-generated method stubreturn dao.delBook(id);}}

BookUpdateServlet:

package com.zking.demo.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON;
import com.zking.demo.model.Book;
import com.zking.demo.service.BookService;
import com.zking.demo.service.IBookService;@WebServlet("/bookUpdateServlet")
public class BookUpdateServlet extends HttpServlet {private IBookService service = new BookService();public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {doPost(req, resp);}public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {req.setCharacterEncoding("utf-8");resp.setContentType("application/json; charset=utf-8"); Map<String,Object> map = new HashMap<>();try {Book book = new Book();book.setId(Integer.parseInt(req.getParameter("id")));book.setBookname(req.getParameter("bookname"));book.setPrice(BigDecimal.valueOf(Double.parseDouble(req.getParameter("price"))));book.setBooktype(req.getParameter("booktype"));service.updateBook(book);map.put("success", true);} catch (Exception e) {e.printStackTrace();map.put("success", false);}PrintWriter out = resp.getWriter();out.write(JSON.toJSONString(map));out.flush();out.close();}}

BookDelServlet:

package com.zking.demo.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON;
import com.zking.demo.service.BookService;
import com.zking.demo.service.IBookService;@WebServlet("/bookDelServlet")
public class BookDelServlet extends HttpServlet {private IBookService service = new BookService();public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {doPost(req, resp);}public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {req.setCharacterEncoding("utf-8");resp.setContentType("application/json; charset=utf-8"); Map<String,Object> map = new HashMap<>();int id = Integer.parseInt(req.getParameter("id"));int n = service.delBook(id);if(n > 0) {map.put("success", true);}else {map.put("success", false);}PrintWriter out = resp.getWriter();out.write(JSON.toJSONString(map));out.flush();out.close();}}

四、运行效果:

EasyUI(DataGrid修改删除)相关推荐

  1. 使用EasyUI实现修改删除功能

    目录 前言: 这次的功能是基于上一次的项目做的,如果有不懂的可以看上一节使用EasyUI实现增加功能 一:前台开发 二:后台开发 三:效果图 距离使用EasyUI完成整个后台.书本管理项目只剩这最后一 ...

  2. easyui 修改单元格内容_jquery easyui datagrid实现增加,修改,删除方法总结

    本文实例讲述了jquery easyui datagrid实现增加,修改,删除的方法.分享给大家供大家参考,具体如下: 页面: 引用的JS: JS: $(function(){ $('#tt').da ...

  3. EasyUI(修改删除)

    目录 一.创建数据库 二.创建包结构 三.更改主页结构 四.页面搭建 五.dao层开发 六.Service层开发 七.Servlet开发 八.运行效果 一.创建数据库 二.创建包结构 三.更改主页结构 ...

  4. easyui datagrid编辑时修改其它列的数值.

    easyui datagrid编辑时修改其它列的数值. { field: 'converter', title: '转化器', align: 'left', width: 250,editor: {t ...

  5. 【EasyUi DataGrid】批量删除

    DataGrid是我们做网页常用到的组件之一,对它的操作也无非是增删改查操作.单条数据的增删改相对来说比较简单,增加.修改可以直接在DataGrid中进行,也可以用弹出框的形式把数据装载在文本框等各种 ...

  6. easyui datagrid单独修改某列的值

    此时心中毫无波澜,只觉得好饿 废话不多说,先看效果图: 代码: <th field="departmentId" width="150px" sortab ...

  7. easyui datagrid 表格 属性和方法

    使用方法(Usage Example) 从现有的表单元素创建数据表格,定义在html中的行,列和数据. <table class="easyui-datagrid"> ...

  8. easyui datagrid plunges 扩展 插件

    项目使用 springmvc4.x  spring4.x  hibernate4.x easyui 为了便于开发,扩展了easyui 的 datagrid 功能,下面直接贴上扩展代码: /** * c ...

  9. EasyUI datagrid detailview

    全部展开:  var me = this;  setTimeout(function () { //延时触发easyui datagrid detailviewclick事件, 不用计时器无法展开,不 ...

  10. jquery easyui dataGrid动态改变排序字段名

    2019独角兽企业重金招聘Python工程师标准>>> jquery easyui dataGrid 动态改变排序字段名,一般情况下,在使用的时候,我们会点击相应字段进行排序, 这里 ...

最新文章

  1. 经典排序算法之直接选择排序
  2. cnpm与npm指定有什么区别?
  3. 【Thymeleaf】获取绝对路径
  4. Java 并发编程必须知道的七种锁类型以及应用
  5. python卷积函数_python – 理解Scipy卷积
  6. struts2:数据标签
  7. Latex:利用BibTeX批量导入参考文献
  8. java12安装和配置_JDK12 安装和环境变量配置
  9. Element-UI学习笔记-安装
  10. 做了一款股票复盘工具
  11. MTK camera tuning学习中遇到的一些问题(调试前)
  12. 【FFmpeg4.1.4】音视频分离器
  13. 【问题解决】seckill-秒杀项目 -- 服务端异常
  14. 金桔蓝牙LoRa主被动一体定位系统原理
  15. google paly发布app设备兼容性的识别
  16. win11系统输入法增加小鹤双排
  17. Win10系统电脑玩地平线4闪退解决方法教学
  18. 手把手教你扩展个人微信号(2)
  19. 【职场管理】如果公司要你轮岗,怎么办?
  20. 使用vue-qr生成带中间带图片的二维码

热门文章

  1. 多声道音频指南(二)—— 前世与今生
  2. Rational Team Concert 2
  3. ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies
  4. canvas画出闪瞎眼的简单图形
  5. 【BZOJ2037】Sue的小球(动态规划)
  6. P1359 租用游艇 dfs/dp/floyd/dijk/spfa DAG(有向无环图)
  7. layui实现后台管理系统界面:对示例代码改动几处即可轻松实现(转载)
  8. python写网络爬虫的环境搭建(windows完整版)
  9. Science Robotics | 美国造“自我意识”机器人?还能自我复制?
  10. 基于cesium和mars3d海洋三维管线信息系统开发完工总结