JSP通用查詢處理與分頁顯示
鐵樹
tieshu
2006年4月2日星期日
(註:涉及的源碼可通過Email:rngguliu@163.com擷取)
1 基本思想
鑒於JSP開發中多次用到查詢與分頁顯示的功能,故將查詢處理及分頁顯示進行了統一設計和功能封裝,在一定程度上加快了開發進程,提高了編碼效率,減少了重複性勞動,提高了代碼重用度。
流程如下。
由上述流程可以看出,整個查詢及分頁顯示只檢索一次資料庫,也就是只建立一次資料庫連接。翻頁顯示時,不再進行查詢。從一定程度上減輕了系統的負擔,同時翻頁速度也得到提高。
本設計的注意點是,對於session的變數名的處理,不要重複,以免發生混亂,約定採用”表名”和相應操作的組合,見樣本程式。 2 兩個重要的類
這兩個類的調用介面及易掌握,只需簡單的調用幾個方法,即可實現完美的分頁顯示。
這兩個類相對獨立而實用,可單獨在其他程式中進行調用。如果將這二者進行結合,可實現任意對象集的完美分頁顯示。 2.1 Page分頁處理類
為了簡化分頁功能的處理,特將分頁有關的處理封裝在此類中。輸入參數為某一資料集(或對象集合)、每頁顯示的記錄數及要顯示的頁碼,返回要顯示的記錄集。
建構函式概覽 |
Page(java.util.List data, int itemsPerPage) 建構函式1,List資料集 設定資料集和每頁顯示多少個記錄 同時計算出總頁數和總記錄數,對當前頁碼置1 |
|
Page(java.lang.Object data, int itemsPerPage) 建構函式3,Object資料集 設定資料集和每頁顯示多少個記錄 同時計算出總頁數和總記錄數,對當前頁碼置1 |
|
Page(java.util.Vector data, int itemsPerPage) 建構函式2,Vector資料集 設定資料集和每頁顯示多少個記錄 同時計算出總頁數和總記錄數,對當前頁碼置1 |
|
方法概覽 |
String |
getAllFoot(String url, String pagePara) //取得分頁的頁尾資訊2,顯示無效連結 |
String |
getAllFoot(String url, String pagePara, String otherPara) //取得分頁的頁尾資訊3,顯示無效連結,處理關聯子表的情況 |
int |
getCurrentRecord()//擷取目前記錄編號 |
String |
getValidFoot(String url, String pagePara) //取得分頁的頁尾資訊1,自動隱藏無效連結 |
String |
getValidFoot(String url, String pagePara, String otherPara) //取得分頁的頁尾資訊1,自動隱藏無效連結 |
java.util.List |
showPage(String pageNum) // 根據頁碼找出要顯示的資料集 |
Page
public Page(java.util.List data, int itemsPerPage)
建構函式1,List資料集 設定資料集和每頁顯示多少個記錄同時計算出總頁數和總記錄數,對當前頁碼置1
參數:
data - 要顯示的資料集
itemsPerPage - 每頁顯示多少個記錄
Page
public Page(java.util.Vector data, int itemsPerPage)
建構函式2,Vector資料集 設定資料集和每頁顯示多少個記錄同時計算出總頁數和總記錄數,對當前頁碼置1
參數:
data - 要顯示的資料集
itemsPerPage - 每頁顯示多少個記錄
Page
public Page(java.lang.Object data, int itemsPerPage)
建構函式3,Object資料集 設定資料集和每頁顯示多少個記錄同時計算出總頁數和總記錄數,對當前頁碼置1
參數:
data - 要顯示的資料集
itemsPerPage - 每頁顯示多少個記錄
getCurrentRecord
public int getCurrentRecord()
傳回值: 目前記錄編號。
showPage
public java.util.List showPage(String pageNum)
根據頁碼找出要顯示的資料集
參數:
pageNum - 指定的頁碼
傳回值: 要顯示的資料集
getValidFoot
public String getValidFoot(String url, String pagePara)
//取得分頁的頁尾資訊1,自動隱藏無效連結
傳回值: 分頁的頁尾資訊
getValidFoot
public String getValidFoot(String url, String pagePara, String otherPara)
//取得分頁的頁尾資訊1,自動隱藏無效連結
傳回值: 分頁的頁尾資訊
getAllFoot
public String getAllFoot(String url, String pagePara)
//取得分頁的頁尾資訊2,顯示無效連結
傳回值: 分頁的頁尾資訊
getAllFoot
public String getAllFoot(String url, String pagePara, String otherPara)
//取得分頁的頁尾資訊3,顯示無效連結,處理關聯子表的情況
傳回值: 分頁的頁尾資訊 2.2 Face 介面顯示類
為了介面的統一及靈活而簡易的設定,特封裝此類.調用介面簡易實用。
方法概覽 |
void |
setStyle(int StyleIndex) //設定顯示樣式,內建了幾種顏色方案(感謝ezpj2005@yahoo.com.cn朋友); 1 為預設樣式,也可以自己設定顏色方案 |
String |
Table() //表頭 |
String |
Table(String width) // 帶參數表頭 |
String |
TableE()// 表尾 |
String |
TD() //表格列顯示風格 //顯示空格 |
String |
TD(int colspan, String label) //表格列顯示風格 |
String |
TD(int colspan, String label, String align) // 表格列顯示風格 |
String |
TD(String label) // 表格列顯示風格 |
String |
TD(String width, int colspan, String label) |
String |
TD(String width, String label) |
String |
TDD(String value, String label) //彈出對話方塊,連結列(例如:刪除) |
String |
TDD(String value, String label, String msg) //彈出對話方塊,連結列(例如:刪除) |
String |
TDI(String width, int colspan, String value, String label) |
String |
TDI(String value, String label) //連結列 |
String |
TDI(String value, String label, String method) //連結列 |
String |
TH()//表格頭顯示風格 //顯示空格 |
String |
TH(int colspan, String label) //表格頭顯示風格 |
String |
TH(String label)// 表格頭顯示風格 |
String |
TH(String width, int colspan, String label) |
String |
TH(String width, String label) |
String |
THI(String width, int colspan, String value, String label) |
String |
THI(String value, String label) //連結列 |
String |
TR()// 普通行顯示風格(例如添加、修改、查詢介面時調用,或者表頭、分頁尾注等部分調用) |
String |
TRB() // 瀏覽行顯示風格(瀏覽、查詢結果顯示時調用) |
String |
TRE() //行尾標誌 |
Face
public Face()
setStyle
public void setStyle(int StyleIndex)
//設定顯示樣式,內建了幾種顏色方案(感謝ezpj2005@yahoo.com.cn朋友); 1 為預設樣式,也可以自己設定顏色方案
參數: StyleIndex -
Table
public String Table() 表頭
Table
public String Table(String width) 帶參數表頭
參數:
width - //表格寬度
TableE
public String TableE() 表尾
TR
public String TR()
普通行顯示風格(例如添加、修改、查詢介面時調用,或者表頭、分頁尾注等部分調用)
TRB
public String TRB() 瀏覽行顯示風格(瀏覽、查詢結果顯示時調用)
TRE
public String TRE() //行尾標誌
TH
public String TH() 表格頭顯示風格 //顯示空格
TH
public String TH(String label) 表格頭顯示風格
參數:
label - //要顯示的內容
TH
public String TH(int colspan, String label) 表格頭顯示風格
參數:
label - //要顯示的內容
colspan - //跨列顯示
TH
public String TH(String width, String label)
參數:
width - //列寬度
label - //要顯示的內容
TH
public String TH(String width, int colspan, String label)
參數:
width - //列寬度
colspan - //跨列顯示
label - //要顯示的內容
THI
public String THI(String value,
String label)
//連結列
參數:
label - //顯示內容
value - //要連結的內容
THI
public String THI(String width, int colspan, String value, String label)
參數:
width - //列寬度
colspan - //跨列顯示
value - //要連結的內容
label - //要顯示的內容
TD
public String TD() 表格列顯示風格 //顯示空格
TD
public String TD(String label) 表格列顯示風格
參數:
label - //要顯示的內容
TD
public String TD(int colspan, String label) 表格列顯示風格
參數:
label - //要顯示的內容
colspan - //跨列顯示
TD
public String TD(int colspan, String label, String align) 表格列顯示風格
參數:
label - //要顯示的內容
colspan - //跨列顯示
align - //對齊