您的位置:首页 > 编程语言 > Java开发

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

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

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

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

@RequestMapping("/getUser")
@ResponseBody
public 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', 此处不用URL
width: 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数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐