Layui和Ajax实现增删改查

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--<!DOCTYPE html>--%>
<html>

<head>
    <meta charset="utf-8">
    <title>table模块快速使用</title>
    <link rel="stylesheet" href="plugins/layui/css/layui.css" media="all">
</head>

<body>
<script src="plugins/layui/layui.js"></script>
<script>
    layui.use(['table','layer'],function () {
        var table = layui.table;
        var layer = layui.layer;
        var $ = layui.jquery;
        table.on('tool(test)',function (obj){
           var value=obj.value;
           var data=obj.data;
           var field=obj.field;
           layEvent=obj.event;
           if(layEvent=="detal"){
               layer.open({
                   type:2,
                   title:"公寓管理员信息",
                   content:"detail?id="+data.teacher_ID,
                   area:['400px','600px'],
                   shade:0.4
               });
           }else if(layEvent=="deleted"){
                $.ajax({
                   url:"delete?id="+data.teacher_ID,
                   type: "get",
                   dataType:"text",
                   success:function (data){
                       if (data==1){
                           location.reload();

                       }else {
                           layer.msg("删除失败!");
                       }
                   }
                });
           }else if(layEvent=="edit"){
               $.ajax({
                   url:"editServlet",//+JSON.stringify(data),
                   type: "post",
                   dataType:"text",
                   data:{
                     teacherID:data.teacher_ID,
                     teacherSex:data.teacher_Sex,
                     teacherPwd:data.teacher_Password,
                     teacherName:data.teacher_Name,
                     teacherTel:data.teacher_Tel,
                     teacherUsername:data.teacher_Username
                   },
                   success:function (data){
                       if (data==1){
                           layer.msg("编辑成功");
                       }else{
                           layer.msg("编辑失败");
                       }
                   }
               });
           }else if(layEvent=="add"){
               layer.open({
                  type:2,
                  title: "添加公寓管理员",
                   content: "add.jsp",
                   area: ['400px','600px'],
                   shade: 0.4,
                   maxmin:true,
                   end:function (){
                      location.reload();
                   }
               });
           }
        });

        var active={
            reload:function () {
                var sers = $("#search").val();
                if (sers==""){
                    layer.msg("不可以搜索空值")
                }else {
                    table.reload("test",{
                        where:{
                            sers:sers
                        },
                        page:{
                            curr:1
                        }
                    });
                }
            }
        }
        $("#btnSearch").click(function (){
            var type = $(this).data("type");
            active[type]?active[type].call(this):"";
        });
    });
</script>
<div class="layui-form-item">
    <label class="layui-form-label">查找用户</label>
    <div class="layui-form-label">
        <input type="text"id="search"class="layui-input"width="100px" />
        <div class="layui-form-label"style="float: left">
            <a class="layui-btn"data-type="reload"id="btnSearch">搜索</a>
        </div>
    </div>
</div>
<table class="layui-table" lay-data="{height:315, url:'findallteacher', page:true, id:'test'}" lay-filter="test" id="test">
    <thead>
    <tr>
        <th lay-data="{field:'teacher_ID', width:100, sort: true}">ID</th>
        <th lay-data="{field:'teacher_Username', width:150,edit:true}">用户账号</th>
        <th lay-data="{field:'teacher_Password', width:150,edit:true}">用户密码</th>
        <th lay-data="{field:'teacher_Name', width:150,edit:true}">真实姓名</th>
        <th lay-data="{field:'teacher_Sex', width:150, sort: true,edit:true}">性别</th>
        <th lay-data="{field:'teacher_Tel', width:150, sort: true,edit:true}">电话</th>
        <th lay-data="{title:'操作',alige:'center',width:400,toolbar:'#barDemo'}">操作</th>
    </tr>
    </thead>
</table>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="detal">查看</a>
    <a class="layui-btn layui-btn-normal" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger" lay-event="deleted">删除</a>
    <a class="layui-btn layui-btn-warm" lay-event="add">添加</a>
</script>
</body>

</html>

 查询


@WebServlet(name = "DetailTeacherServlet", value = "/detail")
public class DetailTeacherServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String id=request.getParameter("id");
        System.out.println(id);
        TeacherDao tea=new teacherImDao();
        teacher t=tea.allTeacher(Integer.parseInt(id));
        request.getSession().setAttribute("tea",t);
        response.sendRedirect("detail.jsp");
    }

删除 

@WebServlet(name = "DeleteTeacherServlet", value = "/delete")
public class DeleteTeacherServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String id=request.getParameter("id");
        TeacherDao teacherDao=new teacherImDao();
        int t=teacherDao.DelTeacher(Integer.parseInt(id));
        if (t>0){
            response.getWriter().write("1");
        }
    }

 修改

@WebServlet(name = "EditTeacherServlet", value = "/editServlet")
public class EditTeacherServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //String str=request.getParameter("str");
        //将字符串转换为对象
        //teacher t=JSONObject.toJavaObject(JSONObject.parseObject(str),teacher.class);
        String teacherID=request.getParameter("teacherID");
        String teacherSex=request.getParameter("teacherSex");
        String teacherPwd=request.getParameter("teacherPwd");
        String teacherName=request.getParameter("teacherName");
        String teacherTel=request.getParameter("teacherTel");
        String teacherUsername=request.getParameter("teacherUsername");
        TeacherDao tea=new teacherImDao();
        // int count=tea.UpdTeacher(t);
        int count=tea.UpdTeacher(teacherID,teacherSex,teacherPwd,teacherName,teacherTel,teacherUsername);
        if (count>0){
            response.getWriter().write("1");
        }
    }
}

 添加

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <link rel="stylesheet" href="plugins/layui/css/layui.css" media="all">
</head>
<body>
<script src="plugins/layui/layui.js"></script>
<script type="text/javascript">
    layui.use(['form','layer'],function (){
        var form=layui.form;
        var layer=layui.layer;
        var $=layui.jquery;
        var index=parent.layer.getFrameIndex(window.name);

        form.on("submit(formDemo)",function (data){
            $.ajax({
                url:"addServlet?teacherSex="+$("[name=teacher_Sex]").val()+"&teacherPwd="+$("[name=teacher_Password]").val()+"&teacherName="+$("[name=teacher_Name]").val()+"&teacherTel="+$("[name=teacher_Tel]").val()+"&teacherUsername="+$("[name=teacher_Username]").val(),//+JSON.stringify(data.field),
                type:"post",
                dataType:"text",
                success:function (data){
                    if (data==1){
                        layer.msg("添加成功");
                        parent.layer.close(index);
                    }
                }
            });
            return false;
        });
    });
</script>
<form class="layui-form layui-form-pane"action="#"method="post">
    <div class="layui-form-item">
        <label class="layui-form-label">昵称</label>
        <div class="layui-input-block">
            <input type="text"name="teacher_Username"class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">密码</label>
        <div class="layui-input-block">
            <input type="text"name="teacher_Password"class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">姓名</label>
        <div class="layui-input-block">
            <input type="text"name="teacher_Name"class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">性别</label>
        <div class="layui-input-block">
            <input type="text"name="teacher_Sex"class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">电话</label>
        <div class="layui-input-block">
            <input type="text"name="teacher_Tel"class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <button class="layui-btn layui-btn-fluid layui-btn-radius" lay-submit lay-filter="formDemo">提交</button>
    </div>
</form>
</body>
</html>
@WebServlet(name = "allServlet", value = "/allServlet")
public class allServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("userName");
        String pwd=request.getParameter("password");
        String role=request.getParameter("role");
        if(role.equals("1")){
            AdminDao ad=new adminImDao();
            List<admin> adminList=ad.adminAll(name,pwd);
            if (adminList.size()>0){
                request.getSession().setAttribute("adminList",adminList);
                response.sendRedirect("index.jsp");
            }else {
                response.sendRedirect("login.jsp");
            }
        }else {
            response.sendRedirect("login.jsp");
        }
    }
}

 方法的重写

package ImDao;

import Dao.TeacherDao;
import JDBC.DBHelper;
import user.teacher;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class teacherImDao implements TeacherDao{
    @Override
    public List<teacher> teaAll() {
        Connection conn= DBHelper.getConn();
        String sql="select*from teacher";
        List<teacher> list=new ArrayList<teacher>();
        teacher tea=null;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ResultSet rs=ps.executeQuery();
            while (rs.next()){
                tea=new teacher(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
                list.add(tea);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }

    @Override
    public List<teacher> teaAll(int pagesize, int pagecloud) {
        Connection conn= DBHelper.getConn();
        String sql="select*from teacher limit ?,?";
        List<teacher> list=new ArrayList<teacher>();
        teacher tea=null;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setInt(1,(pagecloud-1)*pagesize);
            ps.setInt(2,pagesize);
            ResultSet rs=ps.executeQuery();
            while (rs.next()){
                tea=new teacher(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
                list.add(tea);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }

    @Override
    public int getCount() {
        Connection conn= DBHelper.getConn();
        String sql="select count(*) from teacher";
        int count=0;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ResultSet rs=ps.executeQuery();
            if(rs.next()){
                count=rs.getInt(1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return count;
    }

    @Override
    public List<teacher> teaNameAll(String name) {
        Connection conn= DBHelper.getConn();
        String sql="select*from teacher where Teacher_Name like'%"+name+"%'";
        List<teacher> list=new ArrayList<teacher>();
        teacher tea=null;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ResultSet rs=ps.executeQuery();
            while (rs.next()){
                tea=new teacher(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
                list.add(tea);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }

    @Override
    public teacher allTeacher(int id) {
        Connection conn= DBHelper.getConn();
        String sql="select*from teacher where Teacher_ID =?";
        teacher tea=null;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setInt(1,id);
            ResultSet rs=ps.executeQuery();
            if (rs.next()){
                tea=new teacher(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return tea;
    }

    @Override
    public int DelTeacher(int id) {
        Connection conn= DBHelper.getConn();
        String sql="delete from teacher where Teacher_ID =?";
        int rs=0;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setInt(1,id);
            rs=ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

    @Override
    public int UpdTeacher(teacher tea) {
        Connection conn= DBHelper.getConn();
        String sql="update teacher set Teacher_Username=?,Teacher_Password=?,Teacher_Name=?,Teacher_Sex=?,Teacher_Tel=? where Teacher_ID=?";
        int rs=0;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setString(1,tea.getTeacher_Username());
            ps.setString(2,tea.getTeacher_Password());
            ps.setString(3,tea.getTeacher_Name());
            ps.setString(4,tea.getTeacher_Sex());
            ps.setString(5,tea.getTeacher_Tel());
            ps.setString(6,tea.getTeacher_ID());
            rs=ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

    @Override
    public int UpdTeacher(String teacherID, String teacherSex, String teacherPwd, String teacherName, String teacherTel, String teacherUsername) {
        Connection conn= DBHelper.getConn();
        String sql="update teacher set Teacher_Username=?,Teacher_Password=?,Teacher_Name=?,Teacher_Sex=?,Teacher_Tel=? where Teacher_ID=?";
        int rs=0;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setString(1,teacherUsername);
            ps.setString(2,teacherPwd);
            ps.setString(3,teacherName);
            ps.setString(4,teacherSex);
            ps.setString(5,teacherTel);
            ps.setString(6,teacherID);
            rs=ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

    @Override
    public int AddTeacher(String teacherSex, String teacherPwd, String teacherName, String teacherTel, String teacherUsername) {
        Connection conn= DBHelper.getConn();
        String sql="INSERT INTO `teacher` VALUES (null,?,?,?,?,?)";
        int rs=0;
        try {
            PreparedStatement ps= conn.prepareStatement(sql);
            ps.setString(1,teacherUsername);
            ps.setString(2,teacherPwd);
            ps.setString(3,teacherName);
            ps.setString(4,teacherSex);
            ps.setString(5,teacherTel);
            rs=ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }
}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用 Ajaxlayui 实现动态表格增删改查的一个简单示例。 1. 引入 layui 首先需要在页面中引入 layui 的相关文件,例如: ```html <link rel="stylesheet" href="//cdn.layui.com/layui-v2.5.6/css/layui.css"> <script src="//cdn.layui.com/layui-v2.5.6/layui.js"></script> ``` 2. 表格的展示 接下来需要将表格展示在页面上,可以使用 layui 的 table 组件来创建表格。为了方便后续操作,可以给每一行的 tr 标签添加一个唯一的 id,例如: ```html <table id="table" lay-filter="table"></table> ``` ```javascript // 渲染表格 layui.use('table', function () { var table = layui.table; table.render({ elem: '#table', url: 'list.php', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {fixed: 'right', title: '操作', toolbar: '#toolbar', width: 150} ]] }); // 监听工具条按钮点击事件 table.on('tool(table)', function (obj) { var data = obj.data; if (obj.event === 'edit') { // 编辑操作 editData(data); } else if (obj.event === 'delete') { // 删除操作 deleteData(data); } }); }); // 显示编辑模态框 function editData(data) { layui.use('layer', function () { var layer = layui.layer; layer.open({ type: 1, title: '编辑数据', area: ['500px', '300px'], content: $('#edit-form'), success: function () { // 将数据填充到编辑表单中 $('#edit-form input[name="id"]').val(data.id); $('#edit-form input[name="name"]').val(data.name); $('#edit-form input[name="age"]').val(data.age); } }); }); } // 删除操作 function deleteData(data) { layui.use('layer', function () { var layer = layui.layer; layer.confirm('确定删除该行数据吗?', function (index) { var url = 'delete.php?id=' + data.id; $.ajax({ type: 'GET', url: url, success: function (response) { layer.close(index); layui.table.reload('table'); }, error: function () { alert('删除数据失败'); } }); }); }); } ``` 3. 添加操作 当用户点击添加按钮时,需要显示一个模态框,让用户输入新数据。可以使用 layui 的 layer 组件来创建模态框,使用 jQuery 的 ajax() 方法来发送请求,将新数据添加到后端数据库中。例如: ```html <script type="text/html" id="toolbar"> <button class="layui-btn layui-btn-sm" lay-event="add">添加</button> </script> <div id="add-form" style="display: none;"> <form class="layui-form" lay-filter="add-form"> <div class="layui-form-item"> <label class="layui-form-label">姓名</label> <div class="layui-input-block"> <input type="text" name="name" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">年龄</label> <div class="layui-input-block"> <input type="text" name="age" class="layui-input"> </div> </div> </form> </div> <script> // 添加操作 layui.use(['layer', 'form'], function () { var layer = layui.layer; var form = layui.form; layui.table.on('toolbar(table)', function (obj) { if (obj.event === 'add') { layer.open({ type: 1, title: '添加数据', area: ['500px', '300px'], content: $('#add-form'), success: function () { // 清空表单数据 $('#add-form input[name="name"]').val(''); $('#add-form input[name="age"]').val(''); } }); } }); form.on('submit(add-form)', function (data) { $.ajax({ type: 'POST', url: 'add.php', data: data.field, success: function (response) { layer.closeAll(); layui.table.reload('table'); }, error: function () { alert('添加数据失败'); } }); return false; }); }); </script> ``` 4. 编辑操作 当用户点击编辑按钮时,需要将该行的数据加载到编辑模态框中,让用户进行修改。可以使用 layui 的 layer 组件来创建模态框,使用 jQuery 的 ajax() 方法来发送请求,更新后端数据库中的数据。例如: ```html <div id="edit-form" style="display: none;"> <form class="layui-form" lay-filter="edit-form"> <div class="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值