datagrid界面,使用泛型封装JSON结果数据

1、学生列表的 HTML部分

<script type="text/javascript">
$(function(){
    //创建dataGrid
    $("#dg").datagrid({
        url:‘StudentServlet‘,    //数据来源
        //冻结列
        frozenColumns:[[
        {field:‘id‘,checkbox:true},
        {field:‘sno‘,title:‘学号‘,width:100,sortable:true} ]],        \\可排列

        //列的定义
        columns:[[

            {field:‘sname‘,title:‘姓名‘,width:100},
            {field:‘sclass‘,title:‘班级‘,width:100,align:‘right‘},
            {field:‘ssex‘,title:‘性别‘,width:100,align:‘center‘,hidden:false},
            {field:‘sbirthday‘,title:‘生日‘,width:100,align:‘center‘    }
        ]],
        fitColumns:true, //不能和冻结列同时设置
        striped:true,//斑马线效果
        idField:‘sno‘,//主键列,
        rownumbers:true,//显示行号
        singleSelect:false,//是否单选
        pagination:true,//显示分页栏
        pageList:[5,10,20],//每页行数选择列表
        pageSize:5,//初始页面大小
        remoteSort:false,//是否服务器端排序
        toolbar:[
                 {iconCls:‘icon-edit‘,text:‘跳到第2页‘,
                     handler:function(){$(‘#dg‘).datagrid(‘gotoPage‘, 2)}

                 },
                 {iconCls:‘icon-edit‘,text:‘跳到第3页‘,
                     handler:function(){$(‘#dg‘).datagrid(‘gotoPage‘, 3)}

                 }
                 ]
    });
})
</script>
数据表格<br>
<table id="dg"></table>
</body>

2、StudentServlet部分(数据来源)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("UTF-8");

        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");      \\汉化

        String spage = request.getParameter("page");    \\获取page
        String srows = request.getParameter("rows");        \\获取rows

        if(spage!=null&&srows!=null)
        {
        int page =Integer.parseInt(spage);
        int rows =Integer.parseInt(srows);

        String json = new StudentService().getPageJSON(page,rows);    \\调用方法

        response.getWriter().println(json);
        }
        else
        {
            response.getWriter().println("{‘total‘:0,‘row‘:[]}" );
        }

    }

3、StudentService() 类

public class StudentService {

    //查询分页数据
    //返回JSON
    public String getPageJSON(int page,int rows)
    {
        String rtn =    "{\"total\":0,\"row\":[]}" ;

        int total  =  new StudentDAO().getTotal();

        if(total > 0 )
        {
            List<Student> ls = new StudentDAO().getPageList(page, rows);

            String ls_json = JSONArray.toJSONString(ls);

            rtn = "{\"total\":"+total+",\"rows\":"+ls_json+"}";          \\规范 json 格式
        }
        return rtn;
    }

}

4、StudentDAO()类内的 getPageList(获取分页数据集合) 和 getTotal(获取数据条数) 的方法

//获取分页数据集合
    public List<Student> getPageList(int page, int rows)
    {
        List<Student> rtn = new ArrayList<Student>();

        init();

        rtn = se.createQuery("from Student order by sno").
                setMaxResults(rows).setFirstResult((page-1)*rows)
                .list();

        destroy();        

        return rtn;

    }

    //获取数据条数
    public int getTotal()
    {
        int rtn = 0;

        init();

        List<Object> lo = se.createQuery("select count(1) from Student").list();

        if(lo!=null&&lo.size()>0)
        {
            rtn = Integer.parseInt(lo.get(0).toString());
        }

        destroy();

        return rtn;
    }
时间: 2024-10-10 23:23:39

datagrid界面,使用泛型封装JSON结果数据的相关文章

使用Map List 封装json数据

<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> import net.sf.json.JSONObject; public static

SpringBoot之封装json对象返回json数据

/** * @description:封装json对象,所有返回结果都使用它 **/ public class Result<T> { private int code;// 业务自定义状态码 private String msg;// 请求状态描述,调试用 private T data;// 请求数据,对象或数组均可 public Result() { } /** * 成功时候的调用 * @param data data * @param <T> t * @return Resu

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

解析JSON格式数据

 别想一下造出大海,必须先由小河川开始. 本讲内容:解析JSON格式数据 1)比起XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,看起来不如XML直观. 2)解析JSON格式的数据有多种方式,常用的两种是:使用官方提供的JSONObject和谷歌的开源库GSON. 示例一:解析服务器返回的数据 一.JSONObject解析方式 步骤: 1.在服务器中定义一个JSONArray,并将服务器返回的数据传入到JSONArray对象中 2.循环

JAVA操作JSON格式数据

由于近些日子公司在弄微信项目,而微信官方API所提供的接口当中,有些需要以POST方式进行请求,且数据传输格式要求为JSON格式数据,之前没怎么研究过,而且传递的数据格式相对也比较简单,所以直接都是采用的字符串拼接的方式进行组装的,之后再用String.format格式化一下就好了. //需要提交的json数据 String jsonData = "{\"openid\":\"%s\",\"to_groupid\":%d}";

easyUI组件datagrid的二次封装

项目中经常用到easyUI的组件datagird,每次重复的属性写很多(copy-paste),架构师把这活安排给我了,苦逼.. 项目是后台系统,表格行的增删改查几乎都有,有些需求还包括排序,所以写了个函数注入方法,extend默认的row方法, 代码包括两部分(函数inject 和 set datagrid ). (function ($) { var extendFns = {}; /** * 注入函数 * fnName:函数名称,必填: * fn:函数实体,必填: * isGlobal:函

ios网络学习------6 json格式数据的请求处理

#import "MainViewController.h" #import "Video.h" #define kBaseURL @"http://192.168.3.252/~apple" @interface MainViewController ()<UITableViewDataSource, UITableViewDelegate> @property (strong, nonatomic) NSArray *dataLi

WCF兼容WebAPI输出Json格式数据,从此WCF一举两得

问题起源: 很多时候为了业务层调用(后台代码),一些公共服务就独立成了WCF,使用起来非常方便,添加服务引用,然后简单配置就可以调用了. 如果这个时候Web站点页面需要调用怎么办呢? 复杂的XML , 使用不方便 ,而且通信成本也比较高. 这时候有人受不了了, 于是就新建了一套WebAPI , Web页面调用爽了.但是维护起来又麻烦了,一会儿WCF , 一会儿WebAPI 一段时间过后,可以想象已经相差甚远了. 某一天同事A , 在业务层需要调用一个接口 ,发现它是WebAPI方式的 ,被迫没办

php解析、封装JSON与XML

比如阿里.腾讯.百度在提供第三方服务的时候都是通过JSON或XML进行传递数据.在工作的时候和第三方公司对接的时候也是这两种数据格式,所以在这总结一下这两种格式的封装和解析. JSON的封装和解析 封装JSON数据 <?php $items = array( array('id'=>1,'name'=>"衣服",'parId'=>0), array('id'=>2,'name'=>"书籍",'parId'=>0), arra