Ajax几天的问题

分页前台

//点击编辑后弹出层
<div class="layui-row" id="popUpdateTest" style="display:none;">
    <div class="layui-col-md10">
        <form class="layui-form layui-from-pane" action="" style="margin-top:20px" >
            <%--<div class="layui-form-item">--%>
                <%--<label class="layui-form-label">用户名</label>--%>
                <%--<div class="layui-input-block">--%>
                    <%--<select name="eqptType" lay-filter="eqptType">--%>
                        <%--<option value="0a0003biac">0a0003biac</option>--%>
                        <%--<option value="0a0003ahup" selected="">0a0003ahup</option>--%>
                    <%--</select>--%>
                <%--</div>--%>
            <%--</div>--%>
                        <input type="hidden" name="id" id="id">


            <div class="layui-form-item">
                <label class="layui-form-label">地址</label>
                <div class="layui-input-block">
                    <input type="text" name="address" id="address"  required  lay-verify="required" autocomplete="off" placeholder="请输入地址" 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="username" id="username" required  lay-verify="required" autocomplete="off" placeholder="请输入用户名" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item" style="margin-top:40px">
                <div class="layui-input-block">
                    <button class="layui-btn  layui-btn-submit " lay-submit="" lay-filter="formDemo">确认修改</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>
        </form>
    </div>
</div>
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>



//表格图片显示不全
<style type="text/css">
    td div.layui-table-cell{height:100px;
        line-height: 100px;
        position: relative;
        text-overflow: ellipsis;
        white-space: nowrap;
        box-sizing: border-box;
        padding: 0px 15px;
        overflow: hidden;
    }
</style>
<script>
    layui.use(['table', 'form', 'layer'], function () {
        var table = layui.table,
            layer = layui.layer,
             // $ = layui.jquery
            form = layui.form;
        table.render({
            elem: '#test'
            ,url:'${pageContext.request.contextPath}/test3.action'
            ,type:'post'
            ,toolbar: '#toolbarDemo'
            ,title: '用户数据表'
            ,totalRow: true
            ,cols: [[
                {type: 'checkbox', fixed: 'left'}
                ,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true, totalRowText: '合计'}
                ,{field:'username', title:'用户名', width:120, edit: 'text'}
                ,{field:'email', title:'邮箱', width:150, edit: 'text', templet: function(res){
                        return '<em>'+ res.email +'</em>'
                    }}
                ,{field:'experience', title:'积分', width:80, sort: true, totalRow: true}
                ,{field:'sex', title:'性别', width:80, edit: 'text', sort: true}
                ,{field:'logins', title:'登入次数', width:100,sort: true, totalRow: true}
                ,{field:'sign', title:'签名'}
                ,{field:'address', title:'城市', width:'10%',sort:true, templet:'<div><img src="/file/{{d.address}}"></div>'}
                ,{field:'ip', title:'IP', width:120}
                ,{field:'joinTime', title:'加入时间', width:120}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
            ]]
            ,page: true

        });

        //工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了:'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选')
                    break;
            };
        });

        //监听工具条
        table.on('tool(test)', function(obj){
            var data = obj.data;
            if(obj.event === 'detail'){
                layer.msg('ID:'+ data.id + ' 的查看操作');
            } else if(obj.event === 'del'){
                layer.confirm('真的删除行么', function(index){
                    $.ajax({
                        url:'${pageContext.request.contextPath}/deleteUser.action',
                        type:'GET',
                        data:{
                            id:obj.data.id
                        },
                        success:function (msg) {
                            if(msg=="1"){
                                layer.msg("删除成功", {icon: 6});
                                setTimeout(function(){
                                    layer.closeAll();//关闭所有的弹出层
                                }, 1000);
                                加载层-风格
                            }else{
                                layer.msg("删除失败", {icon: 5});
                            }
                        }

                    })
                    obj.del();
                    layer.close(index);

                });
            } else if(obj.event === 'edit'){
                // layer.alert('编辑行:<br>'+ JSON.stringify(obj.data.address))
                $("#id").val(obj.data.id);
                $("#username").val(obj.data.username);
                $("#address").val(obj.data.address);
                       layer.open({
                           type:1,
                           title:"修改个人信息",
                           area: ['420px', '330px'],
                           content: $("#popUpdateTest")
                    });
            }
        });



            form.on('submit(formDemo)', function(data) {
               $.ajax({
                    url:'${pageContext.request.contextPath}/updateUser.action',
                    type:'post',
                     contentType:'application/json',
                    data:JSON.stringify(data.field),
                    success:function (msg) {
                        alert(msg);
                        if(msg=="1"){
                            layer.closeAll('loading');
                            layer.load(2);
                            layer.msg("修改成功", {icon: 6});
                            setTimeout(function(){
                                layer.closeAll();//关闭所有的弹出层
                                table.reload("test");
                            }, 1000);
                            加载层-风格
                        }else{
                            layer.msg("修改失败", {icon: 5});
                        }
                    }
                })
                return false;
            })

    });
</script>

<script>
    layui.use('element', function(){
        var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块

        //监听导航点击
        element.on('nav(demo)', function(elem){
            //console.log(elem)
            layer.msg(elem.text());
        });
    });
</script>

分页工具类

package cn.lzm.util;

/**
 * @author lzm
 * @create 2019- 06- 05- 9:25
 */
public class PageResult<T> {

    private String msg;
    private  T data;
    private  int code;
    private  int count;


    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public PageResult(String msg, T data, int code, int count) {
        this.msg = msg;
        this.data = data;
        this.code = code;
        this.count = count;
    }
}

Controller

   @ResponseBody
   @RequestMapping(value = "test3.action")
    public PageResult<List<User>> fenye(@RequestParam(value = "page") int page ,int limit)
    {
        //会自动传入limit和page
        System.out.println("11111111111111111111111111111111111111111111111111");
        System.out.println(page);
        System.out.println(limit);
//     分页查询,需要参数code(要为0,不然数据表格数据显示不出),msg(返回的消息),data(表格显示的数据),totals(查询到数据的总记录数),
        List<User> userList = userService.listUserByPageAndLimit( page,limit);
        System.out.printf(userList.toString());
        //返回的总记录数
        int count=userService.findUserPageCount();
        PageResult<List<User>> listPageResult=new PageResult<List<User>>("",userList,0,count);
        return listPageResult;
    }

上传图片到虚拟路径
上传本机的 D:\upload\下;

Controller

//    上传文件
        @RequestMapping("/file/upload.action")
        @ResponseBody
public Map<String,Object> fileupload(MultipartFile file, HttpSession session) throws IOException {
            Map<String, Object> map = new HashMap<>();
            map.put("code", 1);
            if (file != null && file.getOriginalFilename() != null && file.getOriginalFilename().length() > 0) {
                String filepath="D:\\upload\\";
      //    String filepath="/upload/";
                String originalFilename = file.getOriginalFilename();
                //扩展名
                String extendName = originalFilename.substring(originalFilename.indexOf("."));
                String newfilename = UUID.randomUUID().toString() + extendName;
                File uploadfile = new File(filepath + newfilename);
                file.transferTo(uploadfile);
                map.put("data", newfilename);
                map.put("code", 0);
            }
            return map;
        }

前台

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<link rel="stylesheet" href="${pageContext.request.contextPath}/layui/css/layui.css"  media="all">
<script src="${pageContext.request.contextPath}/layui/layui.js" charset="utf-8"></script>
<%--<script src="${pageContext.request.contextPath}/layui/lay/modules/jquery.js"></script>--%>
<script src="${pageContext.request.contextPath}/js/jquery.js"></script>
<html>
<head>
    <title>Title</title>
</head>
<body>
<div class="layui-row" id="popUpdateTest">
    <div class="layui-col-md10">
        <form class="layui-form layui-from-pane" action="" style="margin-top:20px" id="addUserForm" >

            <div class="layui-upload" style="margin-left: 100px">
                <button type="button" class="layui-btn" id="test1">上传图片</button>
                <div class="layui-upload-list"  >
                    <img class="layui-upload-img" id="demo1" style="width:100px;height:100px;" >
                    <p id="demoText"></p>
                </div>

            </div>

            <input type="hidden" name="address" id="address" value="">
            <div class="layui-form-item">
                <label class="layui-form-label">用户名</label>
                <div class="layui-input-block">
                    <input type="text" name="username" id="username" required  lay-verify="required" autocomplete="off" placeholder="请输入用户名" 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="address" id="address"  required  lay-verify="required" autocomplete="off" placeholder="请输入地址" class="layui-input">--%>
                <%--</div>--%>
            <%--</div>--%>



            <div class="layui-form-item" style="margin-top:40px">
                <div class="layui-input-block">
                    <button class="layui-btn  layui-btn-submit " lay-submit="" lay-filter="formDemo" type="button">确认添加</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>

        </form>
    </div>
</div>

<script>
    layui.use(['table', 'form', 'layer','upload'], function () {
        var table = layui.table,
            layer = layui.layer,
            upload = layui.upload,
            $ = layui.jquery
            form = layui.form;
        form.on('submit(formDemo)', function(data) {
            $.ajax({
                url:'${pageContext.request.contextPath}/addUser.action',
                type:'post',
                contentType:'application/json',
                data:JSON.stringify(data.field),
                success:function (msg) {
                    if(msg=="1"){
                        $('#demo1').attr('src',null);
                        layer.closeAll('loading');
                        layer.load(2);
                        layer.msg("添加成功", {icon: 6});
                        setTimeout(function(){
                            layer.closeAll();//关闭所有的弹出层
                            $("#addUserForm")[0].reset();
                        }, 1000);
                        加载层-风格
                    }else{
                        layer.msg("添加失败", {icon: 5});
                    }
                }
            })
            return false;
        });


        // 图片上传
        upload.render({
            elem: '#test1'
            ,url: '${pageContext.request.contextPath}/file/upload.action'
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#demo1').attr('src', result); //图片链接(base64)
                });
            }
            ,done: function(res){
                $("[name=address]").val(res.data);
                style:'display:inline-block;max-width:50%;height:auto'
                //如果上传失败
                if(res.code > 0){
                    return layer.msg('上传失败');
                }else {
                    layer.msg("上传成功");
                }
                //上传成功
            }
            ,error: function(){
                //演示失败状态,并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function(){
                    uploadInst.upload();
                });
            }
        });


        });
</script>
</body>

</html>

layui点击左侧菜单后嵌入界面

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div >
            <iframe width="100%" height="100%" name="viewDiv"> </iframe>
        </div>
    </div>
  <dd><a href="${pageContext.request.contextPath}/test2.action" target="viewDiv">显示用户</a></dd>
                        <dd><a href="${pageContext.request.contextPath}/ToAddUser.action" target="viewDiv">增加用户</a></dd>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值