easyui需要的数据,后台怎样封装

easyui的datagrid,接收的数据格式是json的,并且,有3个属性:rows,total,footer

其中rows是每行的数据,rows本身也是一个json数组。

total是数据总数,一般在后台是rows的数据的size();

footer是列表的页脚,一般做数据统计的时候需要用到,footer本身也是一个json数组。

具体(这里使用的是ssm框架):

1、Controller层,将查询到的数据用@ResponseBody封装为json格式返回给页面。

	@Resource
	TotalValueService totalValueService;
	@RequestMapping("/loadAreaTotal.do")
	@ResponseBody
	public JsonResult loadAreaTotalValue(String year,String month){//加载所有片区总体数据
		return totalValueService.loadTotalValue(year,month);
	}
  这里的JsonResult是自定义的实体类。有3个属性
	private Integer total;
	private Object rows;
	private Object footer;
2、Service层,对数据进行处理。

	@Resource
	private TotalValueDao totalValueDao;
	public JsonResult loadTotalValue(String year,String month) {
		JsonResult result = new JsonResult();
		List list = totalValueDao.groupByArea(year,month);//查询到数据
		//对合计的数据初始化
		Double totalBudget = 0.0;
		Double totalOrder = 0.0;
		Double totalDeliver = 0.0;
		Double totalReceipt = 0.0;
		Double totalConfirm = 0.0;
		Double totalAccount = 0.0;
		for (TotalValue bean : list) {
			totalBudget += bean.getBudget();
			totalOrder += bean.getOrder_form();
			totalDeliver += bean.getDeliver();
			totalReceipt += bean.getReceipt();
			totalConfirm += bean.getConfirm();
			totalAccount += bean.getAccount();
		}
		TotalValue footer = new TotalValue();
		footer.setArea("总计");
		footer.setBudget(totalBudget);
		footer.setOrder_form(totalOrder);
		footer.setReceipt(totalReceipt);
		footer.setDeliver(totalDeliver);
		footer.setConfirm(totalConfirm);
		footer.setAccount(totalAccount);
		footer.setComplete_rate(totalAccount/totalBudget);
		List footerList = new ArrayList();//注意这里需要的footer属性也是一个list,因此需要用一个list来存放数据
		footerList.add(footer);
		result.setFooter(footerList);
		result.setRows(list);
		result.setTotal(list.size());
		return result;
	}
3、dao层。略。



你可能感兴趣的:(java后端,easyui,数据)