先來看下最後我們要實現的結果是什麼樣?
先說說我們傳統上的做法!!!
我們一般會在後台中拼接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 這裡就成了左浮動 ...