文档章节

layui结合jfinal增删改查

一个yuanbeth
 一个yuanbeth
发布于 2017/09/11 07:39
字数 1010
阅读 426
收藏 1

精选30+云产品,助力企业轻松上云!>>>

一、遇到问题及解决

1、触发事件要先定义jq符号,然后在调用on方法,如

  var $ = layui.$;
  //新增用户
  $('.userTable #add').on('click', function(){
  });

2、layui怎么打开弹出层的同时,调用后台方法,让弹出层显示后台返回的页面?解决方法如下: 这样就可以:

layer.open({
          type: 2
          ,title:'查看'
          ,content:'/user/form?id=789a3bf1265e4e00ba0b2cdb57c5f615'
      });

3、用layui结合jfinal,用form表单action的方式提交,怎么根据返回值判断是否操作成功? 用form表单action的方式提交,我没找到方法,我改为下面的方式:

  //监听提交
  form.on('submit(userSubmit)', function(data){
	  $.post('/user/save',data.field,function(result){
		  if(result==0){
			  layer.msg('提交成功!',
			    function(){
				  window.parent.location.reload();
			     });
			     }else{
			       layer.msg('提交失败!');
			 }
		});
		return false;
  });

二、增删改查点击事件及弹出弹出框

 < script >
layui.use('table', function ()
{
    var table = layui.table;
    var $ = layui.$;
    
    //监听工具条
    table.on('tool(user)', function (obj)
    {
        //列表所有属性及数据
        var data = obj.data;
        
        //列表事件(查看)
        if (obj.event === 'detail')
        {
            checkUser(data.id);
        }
        
        //列表事件(删除)
        if (obj.event === 'del')
        {
            layer.confirm('真的删除行么', function (index)
            {
                deleteUser(data.id);
                layer.close(index);
            } );
        }
        
        //列表事件(编辑)
        if (obj.event === 'edit')
        {
            editUser(data.id);
        }
    });
    
    //新增用户
    $('.userTable #add').on('click', function ()
    {
        addUser()
    });
});

//查看用户
function checkUser(userId)
{
    layer.open(
    {
        type : 2,
        title : '查看',
        content : '/user/view?id=' + userId,
        area : ['450px', '450px'],
        closeBtn : 1
    });
}

//删除用户
function deleteUser(userId)
{
    $.ajax(
    {
        type : 'get',
        url : "/user/delete?id=" + userId,
        success : function (flag)
        {
            if (flag == 0)
            {
                layer.msg('删除成功!',
                    function ()
                {
                    window.parent.location.reload();
                });
            }
            else
            {
                layer.msg('删除失败!');
            }
        }
        
    });
}

//新增用户
function addUser()
{
    layer.open(
    {
        type : 2,
        title : '新增',
        content : '/user/form',
        area : ['450px', '450px'],
        closeBtn : 1
    });
}

//编辑用户
function editUser(userId)
{
    layer.open(
    {
        type : 2,
        title : '编辑',
        content : '/user/form?id=' + userId,
        area : ['450px', '450px'],
        closeBtn : 1
    });
}
<  / script >

2、新增编辑表单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
</head>

<body>
  #@form_layout()

  <form class="layui-form">
    <div class="layui-form-item">
      <label class="layui-form-label">用户名</label>

      <div class="layui-input-inline">
        <input name="user.id" class="layui-input" type="hidden" value="#(user.id??)" /> <input name="user.user_name" class="layui-input" value="#(user.user_name??)" />
      </div>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">邮箱</label>

      <div class="layui-input-inline">
        <input name="user.email" class="layui-input" value="#(user.email??)" />
      </div>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">手机号</label>

      <div class="layui-input-inline">
        <input name="user.telephone" class="layui-input" value="#(user.telephone??)" />
      </div>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">性别</label>

      <div class="layui-input-inline">
        <input name="user.sex" value="1" title="男" type="radio" checked="checked" /> <input name="user.sex" value="2" title="女" type="radio" checked="checked" />
      </div>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">岗位</label>

      <div class="layui-input-inline">
        <select name="user.post" lay-filter="aihao">
          <option value="1" selected="selected">
            行政
          </option>

          <option value="2" selected="selected">
            UI
          </option>

          <option value="3" selected="selected">
            测试
          </option>

          <option value="4" selected="selected">
            开发
          </option>
        </select>
      </div>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">地址</label>

      <div class="layui-input-inline">
        <input name="user.adress" class="layui-input" value="#(user.adress??)" />
      </div>
    </div>

    <div class="layui-form-item">
      <div class="layui-input-block">
        <button class="layui-btn" lay-submit="" lay-filter="userSubmit">立即提交</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button>
      </div>
    </div>
  </form>
</body>
</html>

 < script >
layui.use('form', function ()
{
    var form = layui.form;
    var $ = layui.$;
    
    //监听提交
    form.on('submit(userSubmit)', function (data)
    {
        $.post('/user/save', data.field, function (result)
        {
            if (result == 0)
            {
                layer.msg('提交成功!',
                    function ()
                {
                    window.parent.location.reload();
                });
            }
            else
            {
                layer.msg('提交失败!');
            }
        });
        return false;
    });
});
<  / script >

3、查看表单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
</head>

<body>
  #@form_layout()

  <form class="layui-form">
    <div class="layui-form-item">
      <label class="layui-form-label">用户名</label> <label class="layui-form-label">#(user.user_name)</label>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">邮箱</label> <label class="layui-form-label">#(user.email)</label>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">手机号</label> <label class="layui-form-label">#(user.telephone)</label>
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">性别</label> #if(user.sex??==1) <label class="layui-form-label">男</label> #end #if(user.sex??==2) <label class="layui-form-label">女</label> #end
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">岗位</label> #if(user.post??=="1") <label class="layui-form-label">行政</label> #end #if(user.post??=="2") <label class="layui-form-label">UI</label> #end #if(user.post??=="3") <label class="layui-form-label">测试</label> #end #if(user.post??=="4") <label class="layui-form-label">开发</label> #end
    </div>

    <div class="layui-form-item">
      <label class="layui-form-label">地址</label> <label class="layui-form-label">#(user.adress)</label>
    </div>
  </form><script type="text/javascript">
//<![CDATA[
  layui.use('form', function(){
  var form = layui.form;
  });
  //]]>
  </script>
</body>
</html>

4、后台java方法

	/**
	 * 渲染新增,编辑页面
	 */
	public void form(){
		String id = getPara("id");
		User user = userService.findUserById(id);
		if(StrKit.notBlank(id)){
		    setAttr("user", user);
		}
		render("form.html");
	}
	
	/**
	 * 新增,编辑 
	 */
	public void save(){
	User user =	getModel(User.class);
	 boolean isSuccess = user.saveOrUpdate();
	 if(isSuccess) {
			renderJson(0);//保存成功
		} else {
			renderJson(2);//保存失败			
		}
	}
	
	/**
	 * 查看
	 */
	public void view(){
		String id = getPara("id");
		User user = userService.findUserById(id);
		setAttr("user", user);
		render("view.html");
	}

	/**
	 * 根据用户id删除用户
	 */
	public void delete() {
		String id = getPara("id");
		boolean flag = userService.deleteById(id);
		if(flag) {
			renderJson(0);
		} else {
			renderJson(1);
		}
	}

三、至此,layui结合jfinal增删改查完毕

一个yuanbeth
粉丝 113
博文 187
码字总数 94053
作品 0
深圳
程序员
私信 提问
加载中
此博客有 2 条评论,请先登录后再查看。
JFinal-layui v1.3 发布,极速开发企业应用系统

JFinal-layui 极速开发企业应用管理系统,是以 JFinal+layui 为核心的企业应用项目架构,利用 JFinal 的特性与 layui 完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会 layu...

琴海森林
2019/04/29
1.9K
2
JFinal-layui v1.3.8 优化在线表单文本域

JFinal-layui 极速开发企业应用管理系统,是以 JFinal+layui 为核心的企业应用项目架构,利用 JFinal 的特性与 layui 完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会 layu...

琴海森林
2019/10/28
3.2K
6
2017-02-14

学习内容:Jfinal框架通过文档搭建成功,angular和Jfinal结合的框架项目学习 完成内容:邮箱签名任务,OSChina Team加入,安装环境 工作问题:Jfinal框架主要出现问题是JFinal.start("WebRo...

Full_Session
2017/02/14
3
1
JFinal-layui v1.4.0 发布,表单上传按钮、优化图表统计、表格弹窗

JFinal-layui 极速开发企业应用管理系统,是以 JFinal+layui 为核心的企业应用项目架构,利用 JFinal 的特性与 layui 完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会前端 ...

琴海森林
2019/12/31
3K
2
JFinal极速开发框架使用笔记

记录第一次使用JFinal,从简单的框架搭建到增删改查,从自带的方法到正常框架习惯的使用方式。 JFinal官网:http://www.jfinal.com/ JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设...

osc_1rwvn3a2
2018/01/03
25
0

没有更多内容

加载失败,请刷新页面

加载更多

Python 二十三大实践、编码建议和技巧

点击上方“测试开发技术”,选择设为“设为星标” 优质文章,第一时间送达! 近期推文: 2019年下,测试开发技术精选合集 软件测试工程师必备:如何做好接口测试? 阅读全文大概需要 10分钟。...

狂师
02/12
16
0
大佬评清华Jittor,这是怎样一个深度学习框架?

点击上方“机器学习与生成对抗网络”,关注"星标" 获取有趣、好玩的前沿干货! 如何评价清华大学发布的自研深度学习框架-计图(Jittor)? 2020年3月20日,清华自研的深度学习框架,正式对外开...

AI_bryant8
03/21
15
0
MySQL 中 ACID 底层内部实现原理详解

“ ACID 事务底层内部实现原理” Hello,大家好。我是公众号“ 八点半技术站 ”的小编-Bruce.D。 今天是周二(2020-03-24),还是那句俗语 “一日之计在于晨” ,因此分享给大家的是 「mysql...

八点半的Bruce丶D
03/24
13
0
利用Makisu构建容器镜像

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本系列文章深入研究了容器镜像构建的最新技术。我们已经介绍了Podman和Buildah、I...

osc_8exjk9uk
22分钟前
13
0
业务代码耗时操作优化

前几天我把我们小程序登录接口性能优化了,优化之前登录接口响应时间大概是 300 ms 左右,优化后的响应时间大概在 70 ms 左右。我们小程序登录接口涉及到的业务操作除了基本的登录验证功能外...

python6666
2019/11/17
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部