通常借助google的json包Gson将需要返回到前台的数据(对象、集合等)转为json格式的字符串后再返回,如:
Controller里的写法:
final Paginator notPassLeaves = this.leaveService.findLeaves(currentPage, 5,
leave);//自定义分页对象
Gson gson = new Gson();
String str = gson.toJson(notPassLeaves);
try {
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
response.getWriter().print(str );
} catch (final Exception e) {
WebHelper.logger.error("Error occurred.", e);
} finally {
try {
response.getWriter().close();
} catch (final IOException e) {
}
}
前台数据处理:
$.get(url,{currentPage:cPage},function(data){
var json = eval('('+data+')'); ///注意写法,常常因为没有用引号引而报缺少分号的错误
currentPage = json.currentPage;//json是返回的分页对象,通过点.的方式取属性
totalSize = json.totalSize;
pageSize = json.pageSize;
$.each(json.items,function(x,y){//items是分页对象里的数据list
x是索引,y是数据实体对象
});
});