如何利用layui实现增删查改操作

如何利用layui实现增删查改操作

首先认识layui

layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。

(推荐教程:layui)

下载之后导进css、js样式

简单的效果图

92aecac704d751acb587c28cb2a1746.png

接下来直接上代码

dao方法

package com.chen.dao;import java.sql.SQLException;import java.util.List;import java.util.Map;import com.chen.util.JsonBaseDao;import com.chen.util.JsonUtils;import com.chen.util.PageBean;import com.chen.util.StringUtils;public class BooktypeDao extends JsonBaseDao{/** * 书籍类别查询 * @param paMap * @param pageBean * @return * @throws SQLException  * @throws IllegalAccessException  * @throws InstantiationException  */public List> list(Map paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{String sql=" select * from t_type where true";String tid=JsonUtils.getParamVal(paMap, "tid");String tname=JsonUtils.getParamVal(paMap, "tname");if(StringUtils.isNotBlank(tid)) {sql+=" and tid ="+tid+" ";}if(StringUtils.isNotBlank(tname)) {sql+=" and tname like '%"+tname+"%'";}sql += "  order by tid desc ";return executeQuery(sql, pageBean);}/** * 增加 * @param paMap * @return * @throws NoSuchFieldException * @throws SecurityException * @throws IllegalArgumentException * @throws IllegalAccessException * @throws SQLException */public int addType(Map paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {String sql="insert into t_type(tname)  values(?) ";return super.executeUpdate(sql, new String[] {"tname"}, paMap);}/** * 修改 * @param paMap * @return * @throws NoSuchFieldException * @throws SecurityException * @throws IllegalArgumentException * @throws IllegalAccessException * @throws SQLException */public int editType(Map paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {String sql="update t_type set tname=? where tid=?";return super.executeUpdate(sql, new String[] {"tname","tid"}, paMap);}/** * 删除 * @param paMap * @return * @throws NoSuchFieldException * @throws SecurityException * @throws IllegalArgumentException * @throws IllegalAccessException * @throws SQLException */public int removeType(Map paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {String sql="delete from t_type where tid=? ";return super.executeUpdate(sql, new String[] {"tid"}, paMap);}}

登录后复制

entity一个树形的实体类

package com.chen.entity;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class TreeNode {private String id;private String name;private Map attributes = new HashMap();private List children = new ArrayList();public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Map getAttributes() {return attributes;}public void setAttributes(Map attributes) {this.attributes = attributes;}public List getChildren() {return children;}public void setChildren(List children) {this.children = children;}public TreeNode(String id, String text, Map attributes, List children) {super();this.id = id;this.name = name;this.attributes = attributes;this.children = children;}public TreeNode() {super();}@Overridepublic String toString() {return "TreeNode [id=" + id + ", name=" + name + ", attributes=" + attributes + ", children=" + children + "]";}}

登录后复制

action子控制器

package com.liuting.web;import java.sql.SQLException;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import com.chen.dao.BooktypeDao;import com.chen.framework.ActionSupport;import com.chen.util.PageBean;import com.chen.util.ResponseUtil;public class BooktypeAction extends ActionSupport {private BooktypeDao booktypeDao=new BooktypeDao();/** * 查询书籍类别 * @param req * @param resp * @return * @throws Exception */public String list(HttpServletRequest req,HttpServletResponse resp) throws Exception {try {PageBean pageBean=new PageBean();pageBean.setRequest(req);List> list = this.booktypeDao.list(req.getParameterMap(), pageBean);ObjectMapper om =new ObjectMapper();Map map=new HashMap();map.put("code", 0);map.put("count", pageBean.getTotal());map.put("data", list);ResponseUtil.write(resp, om.writeValueAsString(map));} catch (InstantiationException e) {e.printStackTrace();} return null;}/** * 增加 * @param req * @param resp * @return */public String addBookType(HttpServletRequest req,HttpServletResponse resp) {try {List> list = this.booktypeDao.list(req.getParameterMap(), null);int val = 0;//如果集合不为空 或者长度等于 0  就把它增加进去 if(list==null || list.size() == 0) {val = this.booktypeDao.addType(req.getParameterMap());}else {val= 2;}ResponseUtil.write(resp, val);} catch (Exception e) {e.printStackTrace();}return null;}/** * 删除书本类别 * @throws Exception  * @throws JsonProcessingException  *  */public String deleteBookType(HttpServletRequest req,HttpServletResponse resp) throws JsonProcessingException, Exception {try {int deleteBookType=this.booktypeDao.removeType(req.getParameterMap());ObjectMapper om=new ObjectMapper();ResponseUtil.write(resp, om.writeValueAsString(deleteBookType));} catch (NoSuchFieldException e) {e.printStackTrace();}return null;}/** * 修改书籍类别 * @param req * @param resp * @return * @throws JsonProcessingException * @throws Exception */public String updateBookType(HttpServletRequest req,HttpServletResponse resp) throws JsonProcessingException, Exception {try {int updateBookType=this.booktypeDao.editType(req.getParameterMap());ObjectMapper om=new ObjectMapper();ResponseUtil.write(resp, om.writeValueAsString(updateBookType));} catch (NoSuchFieldException e) {e.printStackTrace();}return null;}/** * 下拉框 */public String listSelect(HttpServletRequest req,HttpServletResponse resp) throws Exception {try {PageBean pageBean=new PageBean();pageBean.setRequest(req);List> list = this.booktypeDao.list(req.getParameterMap(), pageBean);ObjectMapper om =new ObjectMapper();ResponseUtil.write(resp, om.writeValueAsString(list));} catch (InstantiationException e) {e.printStackTrace();} return null;}}

登录后复制

mvc.xml的配置路径

登录后复制

web.xml的配置路径

  Mvc_Layui    encodingFiter  com.chen.util.EncodingFiter      encodingFiter  /*      dispatherServlet  com.chen.framework.DispatherServlet    xmlPath  /mvc.xml        dispatherServlet  *.action  

登录后复制

jsp页面

     Insert title here
             书籍类别管理         分类列表    
 
    
                
                    
                    
   

登录后复制 编辑 删除      //管理//执行渲染layui.use(['table','layer','form'],function(){var data=document.getElementById(“sj”).value;var table =layui.table;var layer=layui.layer;var form = layui.form; /*展示数据表格 */table.render({ elem:'#test'//表格id,url:data+'/booktypeAction.action?methodName=list'//所对应调用的接口,method:'post'//提交方式 ,cols:[[ /*根据数据库的表格所对应的名称 */ {field:'tid',height:80, width:300, title: '书籍类别序号', sort: true} ,{field:'tname', height:80,width:300, title: '书籍类别名称'} ,{field:'right',height:80, width:300, title: '操作', toolbar:'#lineBtns'}//操作栏 ]] ,page:'true'//分页 , id: 'testReload'});//上方菜单操作栏(查询、以及 增加 按钮 ) var $ = layui.$, active = { //查询 reload: function () { var booktypename = $('#booktypename');//书籍类别名称 根据 id来取值 console.log(booktypename.val()); // 执行重载 table.reload('testReload', { page: { curr: 1 // 重新从第 1 页开始 }, where: { key: 'tname', tname: booktypename.val(), } }); }, add: function () { //添加 layer.open({//弹出框 type: 1, title: '添加书本类别', maxmin: true, shadeClose: true, //点击遮罩关闭层 area: ['80%', '80%'], content: $('#box1'), btn: ['确定', '取消'], yes: function (index, layero) {//确定执行函数 console.log(layero); //执行添加方法 $.getJSON(data+”/booktypeAction.action?methodName=addBookType”, { tname: $(“#booktypename1”).val(), ///角色名 /* booktypename: $(“input[ name='booktypename1']”).val(), *///角色名 }, function (data) { /*根据后台返回的参数来进行判断 */ if (data==1) { layer.alert('添加成功', {icon: 1, title: '提示'}, function (i) { layer.close(i); layer.close(index);//关闭弹出层 $(“#booktype”)[0].reset()//重置form }) table.reload('testReload', {//重载表格 page: { curr: 1 // 重新从第 1 页开始 } }) } else if(data==2){ layer.msg('添加失败,请勿重复添加书本类别名称') } }) }, cancel: function (index, layero) {//取消 $(“#booktype”)[0].reset()//重置form 根据id layer.close(index) } }); } } $('.layui-form .layui-btn').on('click', function () { var type = $(this).data('type'); active[type] ? active[type].call(this) : ''; });/*表格 行内操作(编辑 以及 删除 按钮操作) */ table.on('tool(test)', function(obj){ var data = obj.data; //获得当前行数据 var urlex=document.getElementById(“sj”).value; var tr=obj.tr//活动当前行tr 的 DOM对象 console.log(data); var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值) if(layEvent === 'del'){ //删除 layer.confirm('确定删除吗?',{title:'删除'}, function(index){ //向服务端发送删除指令og $.getJSON(urlex+'/booktypeAction.action?methodName=deleteBookType',{tid:data.tid}, function(ret){ layer.close(index);//关闭弹窗 table.reload('testReload', {//重载表格 page: { curr: 1 // 重新从第 1 页开始 } }) }); layer.close(index); }); } else if(layEvent === 'edit'){ //编辑 layer.open({ type: 1 //Page层类型 ,skin: 'layui-layer-molv' ,area: ['380px', '270px'] ,title: ['编辑书本类别信息','font-size:18px'] ,btn: ['确定', '取消'] ,shadeClose: true ,shade: 0 //遮罩透明度 ,maxmin: true //允许全屏最小化 ,content:$('#box1') //弹窗id ,success:function(layero,index){ $('#booktypeid').val(data.tid); $('#booktypename1').val(data.tname); },yes:function(index,layero){ /* $.ajaxSettings.async = false; */ $.getJSON(urlex+'/booktypeAction.action?methodName=updateBookType',{ tid: $('#booktypeid').val(), tname: $('#booktypename1').val(), tid: data.tid, },function(data){ //根据后台返回的参数,来进行判断 if(data>0){ layer.alert('编辑成功',{icon:1,title:'提示'},function(i){ layer.close(i); layer.close(index);//关闭弹出层 $(“#booktype”)[0].reset()//重置form }) table.reload('testReload',{//重载表格 page:{ curr:1 } }) } }); } }); } }); });// 实现查询所有的菜单

本次所用到的jar包

7bd84aaee4bc0d604b9f4e6bd3302a9.png

index.js

$(function () {    $.ajax({        type: "post",        url: "menuAction.action?methodName=treeMenu",        dataType: "json",        /*data: {// 传给servlet的数据,            role_id: MenuHid,            right_code: "-1",            d: new Date()        },*/        success: function (data) {        console.info(data);            layui.tree({                elem: '#demo',// 传入元素选择器                nodes: data,//     spread:true,                click: function (node) {// 点击tree菜单项的时候                    var element = layui.element;                    var exist = $("li[lay-id='" + node.id + "']").length;//判断是不是用重复的选项卡                    if (exist > 0) {                        element.tabChange('tabs', node.id);// 切换到已有的选项卡                    } else {                        if (node.attributes.menuURL != null && node.attributes.menuURL != "") {// 判断是否需要新增选项卡                            element.tabAdd(                                'tabs',                                {                                    title: node.name,                                    content: ''// 支持传入html                                    ,                                    // width="99%" height="99%"                                    id: node.id                                });                            element.tabChange('tabs', node.id);                        }                    }                }            });        }    });})

登录后复制

完成!

以上就是如何利用layui实现增删查改操作的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3141598.html

(0)
上一篇 2025年3月30日 07:00:30
下一篇 2025年2月24日 08:45:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • layui怎么弹出form

    layui弹出form的方法:首先引用layui.css和layui.all.css文件;然后创建点击删除按钮弹出提示框并放一个添加按钮;最后创建点击添加按钮弹出form表单填写信息即可。 本教程操作环境:windows10、layui2.…

    2025年3月30日 编程技术
    100
  • layui怎么实现三级联动

    layui实现三级联动的方法:首先创建html的页面;然后创建【address.js】文件,内容为“Address.prototype.provinces = function(){…}”;最后通过layui模块实现三级联动即可…

    2025年3月30日
    100
  • layui怎么使用模块化

    layui使用模块化的方法:遵循layui的模块规范建立一个入口文件,并通过layui.use()方法加载该入口文件即可,如【layui.use([‘layer’],function(){var layer = la…

    2025年3月30日
    100
  • layui怎么绑定普通事件监听

    绑定普通事件的方法: html页面给你想要绑定的地方加上id或class属性,下面我以id举例 登录后复制 js代码 $(function () {    layui.use(‘layer’, function(){        var …

    2025年3月30日
    100
  • layui修改select的值的方法

    layui修改select值的方法:首先在html5中加上代码“”获取初始值;然后在js中设置select和单选框的值即可。 本教程操作环境:Windows7系统、layui2.4版,该方法适用于所有品牌电脑。 动态设置layui的sele…

    2025年3月30日
    100
  • layui如何得到select值

    layui得到select值的方法:首先打开相应的模板代码文件;然后引用layui插件;最后通过“var batch=$(“#batch”).val();”方法取得下拉框的值即可。 本教程操作环境:Windows7系…

    2025年3月30日
    100
  • layui弹出层如何传值

    layui弹出层传值的实现方法:1、从主窗口传值到弹出层;2、从弹出层传值到主窗口;3、通过session互传;4、通过调用父窗口的函数从而获取到父窗口的值。 本教程操作环境:Windows7系统、layui1.0版,该方法适用于所有品牌电…

    2025年3月30日
    100
  • layui自定义滑动弹窗动画

    导语: (学习视频分享:编程视频) 我们知道layui的layer模块中的anim参数是可以设置弹窗动画效果的,但是这种弹窗动画种类很少。现在项目中要实现一个从右侧弹出的弹窗效果,因此参考官方模板layuiAdmin后自己封装了一个滑动弹窗…

    2025年3月30日 编程技术
    100
  • 使用layui框架封装ajax模块的具体步骤

    layui 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。 (学习视频分享:编程视频) 平常使用中,ajax可以说使用广泛,所以这里我们添加一个自己的模块,将ajax封…

    2025年3月30日 编程技术
    100
  • layui登录界面美化效果展示

    完整代码展示如下: (学习视频分享:编程入门) 1、前端html login.html nbsp;html>登录               登录后复制           登录界面样式 @CHARSET “UTF-8”;body{ …

    2025年3月30日
    100

发表回复

登录后才能评论