經(jīng)過一段時間終于把分頁完善了,可以實現(xiàn)JDBC分頁(可以根據(jù)配置屏蔽不同的數(shù)據(jù)庫之間的差異,并能對自動根據(jù)具體的數(shù)據(jù)庫類型進行SQL優(yōu)化),HIBERNATE2,和HIBERNATE3的分頁,對內(nèi)存中的數(shù)組進行分頁,并且都支持快速的查詢功能,不過hibernate分頁的除外.使用HIBERNATE進行分頁的時候,需要實現(xiàn)一個接口,將POJO轉(zhuǎn)換成二維數(shù)組的形式.
同時支持將已經(jīng)讀取到的數(shù)據(jù)在顯示到表格之前進行處理,這個功能也是通過實現(xiàn)一個接口來達到
在JSP上可以不寫任何的JAVA代碼,也不需要直接在JSP頁面里面?zhèn)鬟f任何的參數(shù),就可以顯示出完整的表格.
比較典型的JDBC分頁使用方式
??????? database.clearSql();
??????? database.setTablename("test");
??????? database.setFields("id");
??????? database.setFields("CODE");
??????? database.setFields("username");
??????? database.setFields("descript");
??????? database.setCondition("username<>' where group by'");
??????? //附加條件
??????? database.setAddons( " order by id desc");
?????? showTable.setInit(request, database,row, true);
?????? showTable.page(); //分頁
?????? showTable.setTableName("table1");
????? String[][] colname = { {"0","ID"},{"1","編號"}, {"2","姓名"}, {"3","描述"} }; //顯示的列名
??????
????? ?//生成表格
?????? String tableString1 = showTable.getTableString(colname,0,true,true,null);?
???
?????? String[][] queryString = { { "username", "姓名" }, { "CODE", "編號" },{ "descript", "描述" } };
??????
????? //生成快速查詢
????? String showQueryString = showTable.getQuery(queryString,"","",0);????
?????? 其中的database是一個接口,可以自由替換
以下的幾個表格就是根據(jù)具體設(shè)置的不同的參數(shù)顯示出的不同的效果.可以在生成表格之后,從JSP上往表格內(nèi)接入JS的單擊或雙擊事件,單擊或雙擊事件時調(diào)用的JS函數(shù)可以從外部傳入
(雙擊或單擊以下表格的行時,會有事件發(fā)生,這個事件可以由自己實現(xiàn)不同的效果)
posted on 2006-02-16 10:09
snoics 閱讀(2767)
評論(4) 編輯 收藏 所屬分類:
學(xué)習(xí) . 感悟