jquery datatable後台封裝資料範例程式碼,jquerydatatable

來源:互聯網
上載者:User

jquery datatable後台封裝資料範例程式碼,jquerydatatable

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; }

注意存放的數組對象的屬性必須與前端頁面顯示的列保持一樣的個數


用jquery的ajax讀取後台資料時怎讀取大批量資料

我是做java的,java裡有fastjson等jar檔案,你應該是.NET的吧,背景json資料你已經傳到前台了,
.NET我記得應該可以引用DataContractJsonSerializer類,或者你可以去json.org這個網站找到.NET相關的JSON dll檔案,可能操作會簡單些。
前台寫法:
/**
* parmas: 參數
* data:返回資料
*/
$.getJSON('XXXX.aspx', params, function(data){
//這裡的data直接可以當做dom對象去操作
//如果返回的是HashMap的json對象,js部分可以data.name取值
//如果返回的是List集合的json對象,js部分可以
for(var o in data){
alert(o.name);
}
})
回答是否滿意,如果滿意,請採納!等待收分!
 
項目中需要用到jquery的dataTable組件,以前沒怎接觸過jquery,想學學,哪位願意教教在下;感激不盡;或

發你郵箱了,請查收!
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.