美文网首页JAVA
java数据交互(三)

java数据交互(三)

作者: 冰点雨 | 来源:发表于2017-02-23 21:57 被阅读4次

上篇说了说jsp简单调用action的方法,再说说jsp通过ajax进行网络请求静态更新页面数据的方法。

1.获取表中所有数据填充在表格中
action中获取所有数据的代码:

//    查询全部数据
    public void findListData(){
        List<TestPerson> list = testService.getAllPersonlist();
        super.writeJson(list);
    }

//删除数据
    public void  deletePerson(){
        String id = request.getParameter("id");
        testService.delete(id);
    }

//    编辑数据
    public void  updatePerson(){
        TestPerson testPersoned = testService.get( request.getParameter("id"));
        testPersoned.setName(request.getParameter("name"));
        testPersoned.setAge(Integer.parseInt(request.getParameter("age")));
        testPersoned.setCompany(request.getParameter("company"));
        testPersoned.setSalary(request.getParameter("salary"));
        testPersoned.setAddress(request.getParameter("address"));
        testPersoned.setJob(request.getParameter("job"));
        testPersoned.setAddTime(getCurrentTime());
        Json json = new Json();
        try {
            testService.edit(testPersoned);
            json.setSuccess(true);
            json.setMsg("编辑成功!");
        }catch (Exception e)
        {
            json.setMsg("编辑失败!");
        }
        super.writeJson(json);
    }

jsp页面ajax请求数据的代码:(注意:用esyui创建的table不需要进行ajax网络请求,只有调用方法就可以直接将数据添加到table中)

$("#tbd").html(str); 其中 #tbd为tbody的id  str为要插入的str
function addlistData() {
    $.ajax({
        type : "post",
        url : '/personAction!findListData.do',
        dataType : "json",//设置需要返回的数据类型
        success : function(data) {
//data为请求的数据
//将数据插入table,将代码插入到table的<tbody>标签
            var str = "";
            for (var i in data) {
                str +=
                    "<tr>" +
                    "<td>" + data[i].name + "</td>" +
                    "<td>" + data[i].age + "</td>" +
                    "<td>" + data[i].address + "</td>" +
                    "<td>" + data[i].company + "</td>" +
                    "<td>" + data[i].job + "</td>" +
                    "<td>" + data[i].salary + "</td>" +
                    "<td>" + data[i].addTime + "</td>" +
                    "</tr>";
            }
//下面这句代码是插入普通table的数据,而非使用easyUI创建的table
            $("#tbd").html(str);
        },
        error : function(data) {
            alert("请求错误,请检查!");
        }
    });
}

html代码创建table:

<table id="ddt" title="我的用户"  style="width: 630px;height:400px">
    <thead>
    <tr>
        <th field="name" width="90" align="center">姓名</th>
        <th field="age" width="90" align="center">年龄</th>
        <th field="address" width="90" align="center">地址</th>
        <th field="company" width="90" align="center">公司</th>
        <th field="job" width="90" align="center">职业</th>
        <th field="salary" width="90" align="center">工资</th>
        <th field="addTime" width="90" align="center">添加时间</th>
    </tr>
    </thead>
    <tbody id="tbd">
    </tbody>
</table>

用easyUI创建table并赋值:

<table id="dg" title="我的用户" class="easyui-datagrid" style="width: 800px;height:600px" url="/personAction!findListData.do" toolbar="#toolbar"
       rownumbers="true" fitColumns="true" singleSelect="true"></table>
<div id="toolbar">
</div>

//设置表头和toolbar
    $(function() {

//            设置表头
            $('#dg').datagrid({
                pagination : true,
                pagePosition : 'bottom',
                pageSize : 10,
                pageList : [ 10, 20, 30, 40, 50 ],
                fit : false,
                fitColumns : false,//自适应列宽
                nowrap : true,
                border : true,//表格外边框
                rownumbers : true,//行号
                singleSelect : true,//只允许选择一行
                sortName : 'sortId',
                sortOrder : 'desc',
                checkOnSelect : true,
                selectOnCheck : true,
                    columns:[[
                        {
                            field:"name",
                            width:"90",
                            title:"姓名",
                            align:"center",
                            hidden:false
                        },
                        {
                            field:"age",
                            width:"90",
                            title:"年龄",
                            align:"center"
                        },
                        {
                            field:"address",
                            width:"90",
                            title:"地址",
                            align:"center"
                        },
                        {
                            field:"company",
                            width:"90",
                            title:"公司",
                            align:"center"
                        },
                        {
                            field:"job",
                            width:"90",
                            title:"职业",
                            align:"center"
                        },
                        {
                            field:"salary",
                            width:"90",
                            title:"工资",
                            align:"center"
                        },
                        {
                            field:"addTime",
                            width:"160",
                            title:"添加时间",
                            align:"center"
                        },
                    ]],
                toolbar : [ {
                    text : '增加',
                    iconCls : 'icon-add',
                    handler : function() {
                        newUser();
                    }
                }, '-', {
                    text : '编辑',
                    iconCls : 'icon-edit',
                    handler : function() {
                        editUserView();
                    }
                }, '-', {
                    text : '查询',
                    iconCls : 'icon-search',
                    handler : function() {
                        searchUser();
                    }
                }, '-' , {
                    text : '删除',
                    iconCls : 'icon-remove',
                    handler : function(){
                        deleteUser();
                    }
                } ],
//                onDblClickRow : function(rowIndex, rowData) {
//                    edit();
//                }
            });
        })

标签中class引用了easyUI的样式,url是查询所有数据的方法。toolbar是给table添加一个toolbar.
创建的table为


用户表.png

jsp中更新数据

//        弹出编辑视图
        function editUserView() {
            var row = $('#dg').datagrid('getSelected');
            if (row){
                $.messager.confirm('提示','你确定要编辑这个用户吗?',function(r){
                    if (r){
                        $("#dlg").dialog('open').dialog('setTitle','用户信息');//弹出弹窗  dialog('open')
//根据input的name给输入框设置数据
                        $("#name").val(row.name);
                        $("#age").val(row.age);
                        $("#address").val(row.address);
                        $("#company").val(row.company);
                        $("#job").val(row.job);
                        $("#salary").val(row.salary);
                        $("#updateId").val(row.id);
                    }
                });
            }else
            {
                alert("请选择要编辑的用户");
            }
        }

//        编辑数据
 function editUser() {
            $.ajax({
                type : "post",
                url : '/personAction!updatePerson.do',
                data:{
                    id:$("#updateId").val(),
                    name:$("#name").val(),
                    age:$("#age").val(),
                    address:$("#address").val(),
                    company:$("#company").val(),
                    job:$("#job").val(),
                    salary:$("#salary").val()
                },
                dataType : "json",//设置需要返回的数据类型
                success : function(data) {
                    $('#dg').datagrid('load');
                    $('#dg').datagrid('unselectAll');
                    $("#dlg").dialog('close').dialog();
                    parent.dj.messagerShow({
                        title : '提示',
                        msg : '编辑用户成功'
                    });
                },
                error : function(data) {
                    parent.dj.messagerAlert('提示', '编辑用户失败', 'error');
                }
            });
        }
确定编辑.png 编辑框.png 编辑后用户表.png

data为jsp页面调用action方法是传递的参数,参数少的时候可以逐一列出传递,参数多的时候可以直接使用serialize将属性序列化传递。fm为input所在form表单的ID。

 data: $("#fm").serialize()

在action中通过 request.getParameter("id");来获取jsp传递的参数。
注意:调用方法操作成功,要对页面进行刷新重新加载数据,不然页面数据不会进行刷新。

   $('#dg').datagrid('load') //对table进行数据加载,刷新页面

jsp静态改变数据就说到这儿了。。。

相关文章

  • java数据交互(三)

    上篇说了说jsp简单调用action的方法,再说说jsp通过ajax进行网络请求静态更新页面数据的方法。 1.获取...

  • JavaWeb(1)

    1.简介 JDBC接口:Java代码和数据库之间交互的规则Servlet接口:服务器软件和Java代码之间交互的规...

  • java数据交互(二)

    上一篇说了说Java项目中 action与servce层之间的数据交互,现在来说说jsp页面与ation之间的数据...

  • java数据交互(四)

    1.jsp页面之间的简单数据传递不管是A页面向B页面传数据,还是B页面向A页面传数据,只需要在传递页面设置属性,被...

  • java数据交互(一)

    刚接触java,对它的写法及数据交互模模糊糊,经过几天的研究终于知道了。我学习的项目框架是用的SSH和swing,...

  • 2018-11-07 Drools业务逻辑框架

    大部分 web 以及企业级 Java 应用可被分成三部分:与用户交互的前台,与数据库这样的后台系统交互的服务层,以...

  • Java NIO Buffer

    在Java NIO中,Buffer用于与Channel交互。数据从Channel读入Buffer,并从Buffer...

  • Java使用HTTP的get方法读取网络数据、使用post方法与

    1.Java使用HTTP的get方法读取网络数据 2.Java使用HTTP的post方法与网络交互通信

  • Java_SAP RFC

    Java 和 SAP 数据交互 RFC 模式 引入相关 sapjco3.jar 和 sapjco.dll 。 说明...

  • json模块

    JSON(Java Script Object Notation):一种轻量级数据交互格式。python的json...

网友评论

    本文标题:java数据交互(三)

    本文链接:https://www.haomeiwen.com/subject/ibxiwttx.html