SpringData JPA easyUI dataGrid数据显示的解决经验

来源:互联网 发布:517网络加速器软件源 编辑:程序博客网 时间:2024/05/17 08:03

最近,初学SpringMVC,用的是springDataJPA。前台用的是EasyUI的datagrid显示数据。刚开始,搞了半天数据就是表示不出来,后台代码运行正常,前台js也没问题。蛋疼的一个下午,晚上看了部电影回来就解决了。下面是我的代码,及解决的方法,以此仅是记录个人经验,希望大家多多指教。

JPA的代码就不在此记录,个人感觉很简单,可参照官网http://docs.spring.io/spring-data/jpa/docs/current/reference/html/

一,后台Controller,参数包括pageable分页(JPA会用到)返回的数据类型是Page<T>。

@RequestMapping("/getUser")@ResponseBodypublic Page<User> getUser(HttpServletRequest request, HttpServletResponse response,Pageable pageable) {return userService.getUser(pageable);}

这里一定要注意Page<T>,它里面不仅包括JSON对象,也包含分页的信息。格式大概如下
{"content":[{xxxxxx}],"last":false,"totalPages":2,"totalElements":11,"size":7,"number":0,"sort":null,"first":true,"numberOfElements":7}
二,前台JSP
<div id="userGrid"></div>
三、js
$(function() {    $('#userGrid').datagrid({    title:"用户信息表",//url : $('#ctx').val()+'/user/getUser', 此处不用URLwidth: 922,pagination : true,loadMsg: '数据正在加载,请耐心的等待...' ,idField:'userCode',striped:true,columns : [ [ {width : '100',title : '员工姓名',field : 'userName',sortable : true}, {width : '100',title : '员工工号',field : 'userCode',sortable : true},{width : '60',title : '状态',field : 'status',sortable : true},{width : '140',title : '开始日期',field : 'startDate'},] ],});    fLoadData(); //加载数据的方法});


具体实现加载数据

function fLoadData(){$.ajax({type:"GET",url:$('#ctx').val()+'/user/getUser',success:function (data){$('#userGrid').datagrid('loadData', data.content); //将数据绑定到datagrid   }});}
这里一定要注意,传递给datagrid的是data.coontent.上面已经提到,Controller返回的是Page对象,page对象里的content是json数据,而datagrid加载的正是json数据。

我数据不显示的原因就是因为没有考虑page对象的内容,以为datagrid会自己加载page里的json数据。


阅读全文
1 0
原创粉丝点击