jquery datatable后台封装数据

1.数据转换类

public class DataTableReturnObject {
	private int iTotalRecords;
	private int iTotalDisplayRecords;
	private String sEcho;
	private String[][] aaData;
	
	public DataTableReturnObject(int totalRecords, int totalDisplayRecords, String echo, String[][] d) {
		this.setiTotalRecords(totalRecords);
		this.setiTotalDisplayRecords(totalDisplayRecords);
		this.setsEcho(echo);
		this.setAaData(d);
	}

	public void setiTotalRecords(int iTotalRecords) {
		this.iTotalRecords = iTotalRecords;
	}

	public int getiTotalRecords() {
		return iTotalRecords;
	}

	public void setiTotalDisplayRecords(int iTotalDisplayRecords) {
		this.iTotalDisplayRecords = iTotalDisplayRecords;
	}

	public int getiTotalDisplayRecords() {
		return iTotalDisplayRecords;
	}

	public void setsEcho(String sEcho) {
		this.sEcho = sEcho;
	}

	public String getsEcho() {
		return sEcho;
	}

	public void setAaData(String[][] aaData) {
		this.aaData = aaData;
	}

	public String[][] getAaData() {
		return aaData;
	}
}
2帮助类

public class BaseController {
	protected JSONResponse successed(Object obj) {
		JSONResponse ret = new JSONResponse();
		ret.setSuccessed(true);
		ret.setReturnObject(obj);
		return ret;
	}
}
3.实现类

public JSONResponse searchList(HttpServletRequest request , HttpServletResponse response ,String sEcho) throws Exception {
		//convertToMap定义于父类,将参数数组中的所有元素加入一个HashMap
		Map<Object, Object> objQueryMap = new HashMap<Object, Object>();
		String jsondata  = request.getParameter("aoData");
		JSONArray jsonarray = JSONArray.fromObject(jsondata);
		String strDisplayStart ="";
		String strDisplayLength="";
		String[] arrayColumen = new String[new JSONUser().toArray().length];
		int strSortId = 0;
		String strSort = "";
		 for(int i=0;i<jsonarray.size();i++) //从传递参数里面选出待用的参数  
	        {  
	            JSONObject obj=(JSONObject)jsonarray.get(i);  
	            String strName = (String)obj.get("name");
	            String strValue = obj.get("value").toString();
	            if(strName.equals("sEcho")){  
	            	sEcho=strValue;  
	            }
	            if(strName.equals("iDisplayStart")) {
	            	strDisplayStart=strValue;  
	            }
	            if(strName.equals("iDisplayLength"))  {
	            	strDisplayLength=strValue;  
	            }
	            if(strName.equals("sColumns")){ 
	            	 arrayColumen = obj.get("value").toString().split(",");
	            	
	            }  
		      if(strName.startsWith("iSortCol_")){
	            	  strSortId = Integer.parseInt(strValue) ;//排序列数
	            }
	            if(strName.startsWith("sSortDir_")){
	            	  strSort = strValue;//排序的方向 "desc" 或者 "asc".
	            }
	         
	        }
		 
		Map<Object, Object> params = new HashMap<Object, Object>() ;
		try {
			params = managerService.getUserList(参数);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String count = (String)params.get("COUNT");//总数
		String[][] strData = (String[][])params.get("AO_DATA");//当前页显示的集合
		return successed(new DataTableReturnObject(Integer.parseInt(count) , Integer.parseInt(count), sEcho, strData));
	}
4.查询方法
public Map<Object, Object> getUserList(Map<Object, Object> queryParams)
			throws Exception {
	
		String iCount =  总记录数;
		// 将查询结果转换为一个二维数组
		String[][] data = {};
		if (lstUser != null && lstUser.size() > 0) {
			int record = lstUser.size();
			data = new String[record][];
			for (int i = 0; i < lstUser.size(); i++) {
				User objUser = (User) lstUser.get(i);
				JSONUser jsonUser = new JSONUser();
				BeanUtils.copyProperties(jsonUser, objUser);
				data[i] = jsonUser.toArray();
			}
		}
		queryParams.clear();// 情况map,重新设值使用
		queryParams.put("AO_DATA", data);
		queryParams.put("COUNT", iCount);
		return queryParams;
	}

注意存放的数组对象的属性必须与前端页面显示的列保持一样的个数



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值