當前位置:首頁 » 編程語言 » java對list分頁

java對list分頁

發布時間: 2022-11-08 02:12:39

java後台取到list結果集,現在在前台全部遍歷出來,現在想進行分頁如何做

分頁是在後台做的
你可以用hibernate分頁,也可以寫一個通用的分頁工具類,還可以用C標簽分頁,相關知識網路搜一下,一大堆的

② java 數據放在了list中,如何實現前台分頁

比如你有個List list = new ArrayList();
你在頁面拿到這個list集合,存在頁面內存裡面,通過數組下邊每次取5條記錄,來實現分頁效果

③ java 如果所有數據是從List里取出來的 那如何進行分頁

比如你有個list
list
=
new
arraylist();
你在頁面拿到這個list集合,存在頁面內存裡面,通過數組下邊每次取5條記錄,來實現分頁效果

④ java:想把一個集合裡面的數據在頁面上做成分頁,求代碼。這個集合里的數據不是從資料庫拿到的

int cou=list.size()%pageBean.getPageSize();
int number=0;
if(pageBean.getCurrentPage()==pageBean.inits())
{
if(cou==0&&list.size()>0)
{
number=(pageBean.getCurrentPage())*pageBean.getPageSize();
}else{
number=(pageBean.getCurrentPage()-1)*pageBean.getPageSize()+cou;
}
}else
{
number=pageBean.getCurrentPage()*pageBean.getPageSize();
}
for(int i=pageBean.getPageSize()*(pageBean.getCurrentPage()-1);i<number;i++)
{
pagelist.add(list.get(i));
}

⑤ JAVA這個能分頁嗎 List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

java web分頁無外乎兩種,一種是直接取出來,放到一個集合里,通過傳begin 和 end 參數控制分頁,還有一種就是把分頁工作交給資料庫,讓資料庫讀取需要的begin~end之間的數據。

JAVA分頁實現代碼示例:

package com.page;
public class PageUtil {
// 每頁顯示的條數
private int pageSize;
// 總共的條數
private int recordCount;
// 當前頁面
private int currentPage;
public PageUtil(int pageSize, int recordCount, int currentPage) {
this.pageSize = pageSize;
this.recordCount = recordCount;
setCurrentPage(currentPage);
}
// 構造方法
public PageUtil(int pageSize, int recordCount) {
this(pageSize, recordCount, 1);
}
// 總頁數
public int getPageCount() {
// 總條數/每頁顯示的條數=總頁數
int size = recordCount / pageSize;
// 最後一頁的條數
int mod = recordCount % pageSize;
if (mod != 0)
size++;
return recordCount == 0 ? 1 : size;
}
// 包含,起始索引為0
public int getFromIndex() {
// System.out.println("from index:"+(currentPage-1) * pageSize);
return (currentPage - 1) * pageSize;
}
// 不包含
public int getToIndex() {
// System.out.println("to index:"+Math.min(recordCount, currentPage *
// pageSize));
return Math.min(recordCount, currentPage * pageSize);
}
// 得到當前頁
public int getCurrentPage() {
return currentPage;
}
// 設置當前頁
public void setCurrentPage(int currentPage) {
int validPage = currentPage <= 0 ? 1 : currentPage;
validPage = validPage > getPageCount() ? getPageCount() : validPage;
this.currentPage = validPage;
}
// 得到每頁顯示的條數
public int getPageSize() {
return pageSize;
}
// 設置每頁顯示的條數
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
// 得到總共的條數
public int getRecordCount() {
return recordCount;
}
// 設置總共的條數
public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}
}

-------------------------------------------------------------------------------------------
下面的代碼是放在jsp裡面的
-------------------------------------------------------------------------------------------
<%
PublishersDAO = PublishersDAO.getInstance();
List records = .getModels();
String pageStr = request.getParameter("page");
int currentPage = 1;
if (pageStr != null)
currentPage = Integer.parseInt(pageStr);
PageUtil pUtil = new PageUtil(10, records.size(), currentPage);
currentPage = pUtil.getCurrentPage();
%>
-----------下面這個是放在有變數的上面--------------------------------------------------

<%
for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
PublisherModel model = (PublisherModel) records.get(i);
%>
//中間是刪除修改之類的代碼
<%}%>
------------這個是結尾的-----------------------------------------------------------------

<tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center">
記錄總數<%=pUtil.getRecordCount()%>條 當前頁/總頁數<%=currentPage%>
/<%=pUtil.getPageCount()%>每頁顯示<%=pUtil.getPageSize()%>條
<a href="publishers.jsp?page=1">首頁</a>
<a href="publishers.jsp?page=<%=(currentPage - 1)%>">上頁</a>
<a href="publishers.jsp?page=<%=(currentPage + 1)%>">下頁</a>
<a href="publishers.jsp?page=<%=pUtil.getPageCount()%>">末頁</a>
</td></tr>
-------------------------------------------------------------------------------------------

⑥ java 怎麼分頁查詢數據

分頁與sql有關,前台關系不大,sql進行抽行查詢,返回的list數目由sql控制,進行顯示,java這面傳入的sql會帶參數進去,也就是sql的where條件。

⑦ java 關於分頁的問題

要說分頁,實現起來還是蠻簡單的。說說我的理解把。分頁的幾個要素,每頁顯示的記錄條數pageSize,查詢出來的記錄總體數list.size(),顯示總頁數total,返回當前頁的記錄getPage()。給你一個我寫的簡單例子。
這個暫定為Page.java類,我就寫寫思路,其他我就不寫了
private int pageSize =3; //每頁顯示條數為3條
int pageNumber = 1; //默認當前頁為第一頁
public int getTotal() {
//獲取總頁數
int total =list.size()/pageSize; //這里的list就是你要查詢的list記錄,
int e =list.size()%pageSize;
if(e!=0)
{
total =total +1 ;

}return total;

}
//下面是獲取當前頁記錄的方法
public List getPage (int pageNumber)
{
int total = getTotal();

List all=getList(); //獲取查詢出來的list總列表
int e =all.size()%pageSize;
if(e==0) e+=pageSize;
List res = new ArrayList(); //定義的res為了獲取當前頁的記錄
if(pageNumber>=total) //如果當前頁大於總頁數,返回最後一條記錄
{
for(int i=all.size()-e;i<(all.size());i++)
{
res.add(all.get(i));

}
}
else if(pageNumber<=1){
//如果當前頁小於等於1,返回第一頁的記錄
for(int i=0;i<pageSize;i++){
res.add(all.get(i));
}
}
else {
//下面剩下的是常規情況,輸入正常頁的情況
for(int i=(pageNumber-1)*pageSize;i<pageNumber*pageSize;i++){
res.add(all.get(i));

}
}
return res; }
}

然後在jsp里定義當前頁,獲取總頁數,獲取當前頁的列表。總之,分頁真的不太難,你要懂得它的原理,自己寫一個成功的例子ok了

剛想了想,再給說下在jsp里怎麼用把,
<%

String currenP = request.getParameter("currenp"); //獲取當前頁的參數,因為當你點上一頁,下一頁的時候,currenP隨著-1,或者+1.需要注意這里獲取的當前頁是String類型,待會需要轉換成int類型
int currentpage =1 ; //默認當前頁為第一頁
if(currenP!=null)
{
currentpage = Integer.parseInt(currenP);
}

Page ns = new Page();
int totalpage =ns.getTotal(); //獲取總頁數
List list = new ArrayList(); //建立一個list對象,獲取當前頁的記錄

list = ns.getPage(currentpage);

request.setAttribute("1ist",list);
%>

<tr > <td colspan ="5" align="center">
共有<%=totalpage %>頁
<a class="pages" href ="News.jsp?currenp=1">首頁</a>
<%
if(currentpage==1||currentpage-1<1)
{
out.print("上一頁");
}
else{
%>
<a class="pages" href ="News.jsp?currenp=<%=currentpage-1%>">上一頁</a>
<%} %>
<%
if(currentpage+1>totalpage) {
out.print("下一頁");
}
else {
%>
<a class="pages" href ="News.jsp?currenp=<%=currentpage+1%>">下一頁</a>
<%
}
%>
<a class="pages" href ="News.jsp?currenp=<%=totalpage%>">末頁</a>
</td>
</tr>
注意一點,News.jsp是當前頁的名字,當你點擊上一頁,下一頁,首頁,末頁的時候,它會返回到當前頁的list。不知道我說的你聽懂沒

⑧ java 如果所有數據是從List里取出來的 那如何進行分頁

如要分頁,最好使用LinkedList,這個LIST是使用鏈表,所以是嚴格的順序的

int n = 10; //每頁條數

int per = list.size()/n+(list.size%n==0?0:1) //頁數

通過list.get(int index)來獲取每條數據,index是序號,第一頁取1-10,第二頁取11-20,依次取之

⑨ java 數據放在了list中,如何實現前台分頁

把list放在session里,然後計算出頁碼,利用頁碼和每頁顯示的數據量,控制要顯示的數據,顯示在頁面上。

熱點內容
劍俠情緣緩存怎麼清理 發布:2025-01-11 22:33:56 瀏覽:315
win7旗艦版怎麼設置密碼 發布:2025-01-11 22:21:09 瀏覽:143
被害人訪問 發布:2025-01-11 22:06:24 瀏覽:366
朋友圈上傳長視頻方法 發布:2025-01-11 22:01:41 瀏覽:357
我的世界ice伺服器被炸罰款 發布:2025-01-11 21:54:36 瀏覽:725
linuxphpini配置 發布:2025-01-11 21:54:35 瀏覽:481
tp圖片壓縮 發布:2025-01-11 21:53:52 瀏覽:632
手柄怎麼調節安卓模式 發布:2025-01-11 21:44:36 瀏覽:950
國產伺服器搭建ftp 發布:2025-01-11 21:27:33 瀏覽:919
電腦系統哪個好用配置 發布:2025-01-11 21:26:04 瀏覽:141