
由于現(xiàn)在的displaytag及其valuelist等標(biāo)簽只是表現(xiàn)層的東東,和數(shù)據(jù)庫(kù)無(wú)關(guān),所以開(kāi)發(fā)者將數(shù)據(jù)庫(kù)中的數(shù)據(jù)傳遞給這些標(biāo)簽時(shí)
就會(huì)出現(xiàn)分頁(yè)顯示不正確的現(xiàn)象,由于只有將數(shù)據(jù)庫(kù)中的所有記錄傳遞給這類標(biāo)簽時(shí),他才能正確處理分頁(yè),但是當(dāng)數(shù)據(jù)庫(kù)中的記錄很大時(shí),就變得不現(xiàn)實(shí)了,所以這類標(biāo)簽適合作為快速開(kāi)發(fā)原型或者顯示少量數(shù)據(jù)時(shí)應(yīng)用,或者進(jìn)行更改才能符合自己的需要,但是,改起來(lái)比較麻煩;
針對(duì)以上問(wèn)題,我做了一個(gè)簡(jiǎn)單實(shí)用的表格標(biāo)簽,常用的功能也都有了,就是顯示不那么靈活,只能是上面圖片的樣子顯示,而沒(méi)有更大的靈活性,但是作為常用表格顯示已經(jīng)夠用了,其他更靈活的等將來(lái)全部重構(gòu)后,來(lái)完成更好的表格標(biāo)簽,現(xiàn)在的設(shè)計(jì)思想沒(méi)有考慮那么多,只是針對(duì)數(shù)據(jù)庫(kù)的常用功能設(shè)計(jì)的,例如:數(shù)據(jù)的顯示(避免提取數(shù)據(jù)表中的全部數(shù)據(jù),只提取要顯示的部分),在現(xiàn)有條件基礎(chǔ)上可以進(jìn)行靈活的用戶自定義查詢,正反排序等等;
具有的功能:
1)以表格的形式顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù),每次僅提取要顯示的部分;
2)很好的處理了分頁(yè)功能,不必全部提取數(shù)據(jù)后才能正確處理分頁(yè);
3)可以定義要排序的列,進(jìn)行正反排序;
4)可以進(jìn)行顯示數(shù)據(jù)的選擇,可以多選或者單選;
5)可以自定義顯示數(shù)據(jù)的主要信息,用于處理或者傳遞數(shù)據(jù)之用;
6)由于表格顯示的配置是通過(guò)配置文件實(shí)現(xiàn)的,所以同一個(gè)顯示配置可以被重復(fù)使用
7)可以定義列為的超鏈接,并指定target,默認(rèn)為_(kāi)new
8)同一個(gè)sql語(yǔ)句模板可以根據(jù)傳遞的條件不同完成不同的功能,達(dá)到實(shí)現(xiàn)用戶自定義查詢的功能
9)可以定義一個(gè)列的日期顯示樣式,數(shù)據(jù)顯示樣式
10)可以定義某一列是否自動(dòng)回行
11)常用的翻頁(yè),選擇跳頁(yè),及其輸入跳頁(yè)值直接跳轉(zhuǎn),顯示所有最大行數(shù),最大頁(yè)數(shù)機(jī)器當(dāng)前頁(yè)數(shù)
12)其中還帶了一個(gè)下拉框標(biāo)簽,可以很好地解決顯示數(shù)據(jù)庫(kù)中多列信息的功能,并同樣具有自定義要傳遞的信息的功能,具有默認(rèn)值,空值情況下定義默認(rèn)值的功能
缺少或不足的功能:
那多了,慢慢解決吧,心急吃不了熱豆腐!
正常應(yīng)該設(shè)計(jì)成displaytag的樣子,但是本人不喜歡標(biāo)簽套標(biāo)簽,用起來(lái)麻煩,我崇尚的是簡(jiǎn)單至上,所以我寫(xiě)的東西不會(huì)復(fù)雜到一定程度。可能這樣結(jié)構(gòu)不太合理;
注意:
本標(biāo)簽只支持jdk1.5,及其通過(guò)jndi獲得數(shù)據(jù)庫(kù)連接!!
需要支持的庫(kù):castor-0.9.7-xml.jar
通過(guò)修改qixin000.xml文件更改jndi配置信息