效果圖:
以前做分頁一般都是在後台中拼接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; i利用 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 );
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; i利用 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)
當然會選擇高階用法。。。哈哈。。
如何用JsonLib 來實現EXT中的分頁?
先來看下最後我們要實現的結果是什麼樣?先說說我們傳統上的做法!我們一般會在後台中拼接json格式的字串,然後返回到前台進行解析,那樣雖然能達到目的,但效率上肯定會大打折扣 而今天我們介紹的是專門用來解析json格式的jsonlib,它所需要的jar檔案如下 行,廢話不多說了,上 首先來看前台頁面 e...
裡用display block的作用
是塊元素,那在布局時候,在div的元素裡面寫display block有用嗎?回答 對所有的塊元素都沒有意義,塊元素的dispaly屬性預設值為block,沒必要再顯式定義 除非你之前對塊元素的display屬性重新定義過。多羅嗦一句 display block 比較常用於這兩個標籤 因為這兩個標籤...
如何讓Ext的RowExpander實現非同步呼叫
目前ext grid的rowexpander使用的模板,是在讀取grid同步載入,實際上這樣的處理並不是很好,如果資料量大的話,對效能會有一定影響,更好的處理方式是非同步載入,只有需要的時候再載入需要的資料。下面介紹如果實現 一,此檔案 這是國外乙個朋友擴充套件的rowexpander,我對比了幾種...