如何用JsonLib 來實現EXT中的分頁?

2021-05-25 02:11:16 字數 2260 閱讀 9666

先來看下最後我們要實現的結果是什麼樣?

先說說我們傳統上的做法!!!

我們一般會在後台中拼接json格式的字串,然後返回到前台進行解析,那樣雖然能達到目的,但效率上肯定會大打折扣

而今天我們介紹的是專門用來解析json格式的jsonlib,它所需要的jar檔案如下 :

行,廢話不多說了,上**,首先來看前台頁面:

ext.onready(function());

store.load(});          //第一次載入的時候傳遞起始條數和每頁的大小

var cm = new ext.grid.columnmodel([                      //定義列模型,,

,,,]);

var bbar = new ext.paging*******(條到第條的記錄,一共條記錄",

emptymsg:"沒有記錄"

});var grid = new ext.grid.gridpanel();

});在前台頁面中其它還是以前的知識,並沒有和以前有多大的不同,重點在後台**中,下面看後台**:

response.setcontenttype("text/html;charset=utf-8");

printwriter out = response.getwriter();

int start = integer.parseint(request.getparameter("start"));  //得到起始條數和每頁和條數

int limit = integer.parseint(request.getparameter("limit"));

int end = start + limit;

int totalproperty = 86;        //總資料條數

if(end>totalproperty)

listhumanlist = new arraylist();

for(int i=start; inew human("000"+ i,"傑克"+ i,"男",new date(),"石家莊","沒什麼興趣"));   ----重點1

}pagebean pagebean = new pagebean(totalproperty,humanlist);   //把資料整合到pojo類中  ----重點2

利用    jsonlib來解析json

jsonobject jobject = jsonobject.fromobject(pagebean,jsonutil.configjson("yyyy-mm-dd"));    --重點3

out.print(jobject.tostring());

out.flush();

out.close();

既然是用json來解析字串,那就不用去考慮什麼字串拼接的問題,但是,json字串中的鍵也就是name:"張三"中的name我們還是要

知道的,那麼,我們定義了乙個human類來存放這些欄位的資訊

看重點1:

public class human );

jsonconfig.setignoredefaultexcludes(false);

jsonconfig.setcycledetectionstrategy(cycledetectionstrategy.lenient);

jsonconfig.registerjsonvalueprocessor(date.class, new jsondatevalueprocessor(datepattern));

return jsonconfig; } }

還需要乙個jsondatevalueprocessor類:注意,要新增對應的構造方法(有參和無參)和get、set方法

public class jsondatevalueprocessor implements jsonvalueprocessor ;

if (value instanceof date)

}return obj;

}public object processobjectvalue(string key, object value, jsonconfig jsonconfig)

return value == null ? null : value.tostring();}}

至此,我們完成了以前我們拼接字串的複雜操作,省去了我們要進行手動拼接所帶來的麻煩:

和之前的**進行一下比較吧:

if(end>totalproperty)

相信比較一下,你就會發現哪個效率更高,哪種**寫出來更優雅一些……看看吧

如何用ResourceBundle來讀取配置檔案

對於ja va基礎很好的人來說,這個應該是簡單的不能再簡單的了。不過估計一些ja va新手不一定會知道 比如我,上次為別人寫乙個東西,需要從外存讀檔案來設定物件的值,因為不知道有resourcebundle這種東西,就自己用filereader在那搞,折騰了半天,最後還不能把配置檔案和jar包打在一...

如何用ResourceBundle來讀取配置檔案

對於ja va基礎很好的人來說,這個應該是簡單的不能再簡單的了。不過估計一些ja va新手不一定會知道 比如我,上次為別人寫乙個東西,需要從外存讀檔案來設定物件的值,因為不知道有resourcebundle這種東西,就自己用filereader在那搞,折騰了半天,最後還不能把配置檔案和jar包打在一...

如何用li標籤來實現網頁導航選單

用li標籤來做導航選單是很多 都採用的方式,但是對於div css新手來說,用li標籤來實現網頁的導航選單並不容易,它涉及到浮動及內聯化和清除浮動這方面。在這裡,我寫了乙個例項,新手朋友可以參考一下它。這個例項的幾個要點在於 1 li標籤的css需要將float屬性設定為left 這裡就成了左浮動 ...