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