簡體   English   中英

我想在jsp中每頁顯示數據庫10的結果

[英]I want to display results from database 10 per page in jsp

我的網站有以下代碼,我想將此結果擴展為每頁顯示10個結果。 如果有人可以幫助我,我將不勝感激。

java.sql.PreparedStatement p = servlet1.DB.query("select * from user where userdate like  ");
p.setString(1,userdate);
java.sql.ResultSet r = p.executeQuery();

閱讀http://www.javaranch.com/journal/2008/08/pagination-using-JDBC-and-JSP.html 這里討論分頁的各種方式。 選擇最適合您的情況。

有兩種基本方法。

最有效的是在數據庫中進行分頁。 您將需要實現以下內容:

public long countMyData(..query params..);

public Object[] loadMyDataPage(..query params.., long startIndex, long count);

使用這兩種方法,然后可以根據countMyData()的結果數在頁面上呈現頁面控件。 當用戶選擇一個新頁面時,僅使用具有正確的startIndex和count的loadMyDataPage()才能獲取該頁面的數據。

您還想確保查詢相對“穩定”-一次又一次地調用時,結果將基本相同。 最簡單的方法是確保您對結果進行合理排序 -例如論壇軟件的主題日期或類似內容。 否則,這些物品將“跳動”。

第二種方法是一次性加載所有內容並將其存儲在某個緩存中,然后從那里顯示。 問題是它非常浪費,特別是如果每​​個訪問者唯一的話,因此,如果您嘗試這樣做,就必須注意不要浪費所有內存。

看一下DisplayTag 它是一個JSP標記庫,它可以獲取結果集並以表格形式顯示它,包括分頁:

<sql:query var="results">
  select * from table
</sql:query>

<display:table name="${results.rows}" pagesize="10"/>

看一下這個鏈接。

模式(您需要知道):

值列表處理程序模式。

實現(您可以使用此):

ValueList:“值列表處理程序模式”的實現。

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM