一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java中對list分頁并顯示數據到頁面實例代碼

java中對list分頁并顯示數據到頁面實例代碼

2021-04-04 14:31你的承諾早已氾黃 Java教程

這篇文章主要介紹了java中對list分頁并顯示數據到頁面實例代碼,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

有時候需要根據條件查詢得出的數據較多,需要分頁顯示到頁面上。這時點擊下一頁就不方便每次帶查詢條件在數據庫中分頁。可以在list中進行分頁。

page的model類:

java" id="highlighter_493423">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Page {
  private Integer currentPage;//當前頁
  private int pageSize;//每頁顯示記錄條數
  private int totalPage;//總頁數
  private List<?> dataList;//每頁顯示的數據
  private int star;//開始數據
 
  public Integer getCurrentPage() {
    return currentPage;
  }
  public void setCurrentPage(Integer currentPage) {
    this.currentPage = currentPage;
  }
  public int getPageSize() {
    return pageSize;
  }
  public void setPageSize(int pageSize) {
    this.pageSize = pageSize;
  }
  public int getTotalPage() {
    return totalPage;
  }
  public void setTotalPage(int totalPage) {
    this.totalPage = totalPage;
  }
  public List<?> getDataList() {
    return dataList;
  }
  public void setDataList(List<?> dataList) {
    this.dataList = dataList;
  }
  public int getStar() {
    return star;
  }
  public void setStar(int star) {
    this.star = star;
  }
}

控制層:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@RequestMapping("fenye.do")
  public String fen(Page page,HttpServletRequest request){
 
    try {
      //查詢出的list數據
      List<Data> showdata=loginService.selectyichall();
      //剛開始的頁面為第一頁
      if (page.getCurrentPage() == null){
        page.setCurrentPage(1);
      } else {
        page.setCurrentPage(page.getCurrentPage());
      }
      //設置每頁數據為十條
      page.setPageSize(10);
      //每頁的開始數
      page.setStar((page.getCurrentPage() - 1) * page.getPageSize());
      //list的大小
      int count = showdata.size();
      //設置總頁數
      page.setTotalPage(count % 10 == 0 ? count / 10 : count / 10 + 1);
      //對list進行截取
      page.setDataList(showdata.subList(page.getStar(),count-page.getStar()>page.getPageSize()?page.getStar()+page.getPageSize():count));
      //設置作用域
      request.setAttribute("paging", page);        
      return "add/show.jsp";
 
    } catch (Exception e) {
      // TODO Auto-generated catch block   
      e.printStackTrace();
      return "mistake.jsp";
    }
  }

jsp頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script type="text/javascript" language="javascript">
 function goPage(page){
 location.href="fenye.do?currentPage=" rel="external nofollow" +page;
 }
</script>
 
 
<div>
 <table width="100%" border="0" align="center" cellspacing="1" >
 <c:forEach items="${paging.dataList }" var="upl">   
   <tr>
    <td align="center">${upl.name1 }</td>
    <td align="center">${upl.name2 }</td>
    <td align="center">${upl.name3 }</td>   
   </tr>
   </c:forEach>  
 </table>
</div>
<div style="text-align:center; margin-top:10px;color: white;" id="venderfen">
 <c:if test="${paging.totalPage > 0}">
  當前第 ${paging.currentPage } 頁/共  ${paging.totalPage} 頁
 </c:if>
 <c:if test="${paging.totalPage > 1}">
   <c:choose>
     <c:when test="${paging.currentPage==2 && paging.totalPage==2}">
      <a onclick="goPage(1)">首頁</a>
      <a onclick="goPage(${paging.currentPage-1})">上一頁</a>
     </c:when>
     <c:when test="${paging.currentPage==1}">
      <a onclick="goPage(${paging.currentPage+1})">下一頁</a>
      <a onclick="goPage(${paging.totalPage})">末頁</a>
     </c:when>
     <c:when test="${paging.currentPage==paging.totalPage}">
      <a onclick="goPage(1)">首頁</a>
      <a onclick="goPage(${paging.currentPage-1})">上一頁</a>
     </c:when>
     <c:otherwise>
      <a onclick="goPage(1)">首頁</a>
      <a onclick="goPage(${paging.currentPage-1})">上一頁</a>
      <a onclick="goPage(${paging.currentPage+1})">下一頁</a>
      <a onclick="goPage(${paging.totalPage})">末頁</a>
     </c:otherwise>
  </c:choose>
  </c:if>
 共 ${paging.total} 條
</div>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
StringBuilder sb = new StringBuilder();
sb.append("SELECT distinct(m.time) ");
sb.append(" from tbl_monitor m left join tbl_variable v on m.variable = v.id ");
sb.append(" left join tbl_variable_group g on v.variable_group = g.id ");
       
sb.append(" where v.active = true and g.active=true ");
//sb.append(" AND m.variable in " + variableIds);
sb.append(" AND exists ( select vtemp.id from tbl_variable vtemp where vtemp.selected=true and vtemp.id=m.variable)");
sb.append(" AND m.time between " + beginTime + " AND " + endTime );
sb.append(" order by m.time asc");
Query query = em.createNativeQuery(sb.toString());
//滿足搜索條件的所有的時間的條數
int total = query.getResultList().size();
tableView.setTotal(total);
tableView.setTotalPage(total % page.getPageSize() == 0 ? total / page.getPageSize() : (total / page.getPageSize()) + 1);
query.setFirstResult(from);
query.setMaxResults(offset);
timeList = query.getResultList();

總結

以上就是本文關于java中對list分頁并顯示數據到頁面實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/u012843873/article/details/79216654

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 法国女佣系列在线播放 | 日本动漫xxxxxx | 无人区在线观看免费完整版免费 | 欧美交换乱理伦片120秒 | 青青国产精品 | 五月精品 | chinese东北痞子gay | 天堂a视频 | 亚洲黑人巨大videos0 | 欧美性4khd720 | 91小视频在线观看免费版高清 | 亚洲午夜久久久久国产 | 亚洲免费在线观看 | 色综合综合 | 亚洲阿v天堂2018在线观看 | 青草青视频 | 鬼吹灯之天星术免费观看 | 精品卡1卡2卡三卡免费视频 | 亚洲精品久久啪啪网站成年 | 日本bbwbbw| 亚洲男人网 | 日产精品一卡2卡三卡4乱码久久 | 9966久久精品免费看国产 | 国产va免费精品高清在线观看 | 521色香蕉网在线观看免费 | 婷婷精品 | 免费一级生活片 | 满溢游泳池免费土豪全集下拉版 | 色婷亚洲 | 男人疯狂擦进女人下面 | 韩国免费视频 | 97网站| 6080午夜 | 青青青手机视频在线观看 | 久草热在线 | 忘忧草高清 | 9420高清完整版在线观看国语 | 无码人妻丰满熟妇啪啪网不卡 | 国产 日韩 欧美 综合 | 性派对videofreeparty | 丰满艳妇亲伦视频 |