bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能
生活随笔
收集整理的這篇文章主要介紹了
bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本節是建立在上節的基礎上,上一節給大家講了管理后臺表格如何展示數據,但是當我們的數據比較多的時候我們就需要做分頁處理了。這一節給大家講解如何實現表格數據的分頁顯示。
準備工作
1,項目要引入freemarker和bootstrap,如果不知道怎么引入的,請查看
《10小時入門java開發03 springboot+freemarker+bootstrap快速實現管理后臺》
還是老規矩,看效果圖
可以看出我們實現了如下功能
1,表格數據的展示
2,分頁效果的實現
3,上一頁和下一頁的實現
4,當前選中頁碼加重顏色
下面來看實現步驟
一,定義表格和分頁組件
簡單說說代碼
head里面是引入bootstrap的樣式庫
table定義表格來展示數據
ul?里定義分頁
代碼如下:
<head>
????<meta?charset="utf-8">
????<title>freemarker+bootstrap學習title>
????<meta?name="viewport"?content="width=device-width,?initial-scale=1,?shrink-to-fit=no">
????
????<link?rel="stylesheet"href="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/css/bootstrap.min.css">
head>
<body>
<div?class="container-fluid">
????<div?class="row?clearfix">
????????<div?class="col-md-12?column">
????????????<table?class="table?table-bordered?table-condensed?table-striped">
????????????????<thead>
????????????????<tr>
????????????????????<th>idth>
????????????????????<th>姓名th>
????????????????????<th>微信th>
????????????????????<th?colspan="2">操作th>
????????????????tr>
????????????????thead>
????????????????<tbody>
????????????????<#list?productInfoPage?as?productInfo>
????????????????????<tr>
????????????????????????<td>${productInfo.id}td>
????????????????????????<td>${productInfo.name}td>
????????????????????????<td>${productInfo.wechat}td>
????????????????????????<td>
????????????????????????????<#if?productInfo.id%2?==?0>
????????????????????????????????<a?href="#">下架a>
????????????????????????????<#else>
????????????????????????????????<a?href="">上架a>
????????????????????????????#if>
????????????????????????td>
????????????????????tr>
????????????????#list>
????????????????tbody>
????????????table>
????????div>
????????<#--分頁-->
????????<div?class="col-md-12?column">
????????????<ul?class="pagination?">
????????????????<#if?currentPage?lte?1>
????????????????????<li?class="disabled?"><a?class="page-link"?href="#">上一頁a>li>
????????????????<#else>
????????????????????<li>
????????????????????????<a?class="page-link"?href="/pageList?page=${currentPage?-
????????????????????????1}&size=${size}">上一頁a>
????????????????????li>
????????????????#if>
????????????????<#list?1..totalPage?as?index>
????????????????????<#if?currentPage?==?index>
????????????????????????<li?class="page-item?active?"><a?class="page-link"?href="#">${index}a>
????????????????????????li>
????????????????????<#else>
????????????????????????<li>
????????????????????????????<a?class="page-link"?href="/pageList?page=${index}&size=${size}">
????????????????????????????????${index}a>
????????????????????????li>
????????????????????#if>
????????????????#list>
????????????????<#if?currentPage?gte?totalPage>
????????????????????<li?class="disabled?"><a?class="page-link"?href="#">下一頁a>li>
????????????????<#else>
????????????????????<li>
????????????????????????<a?class="page-link"?href="/pageList?page=${currentPage?+?1}&size=${size}">下一頁a>
????????????????????li>
????????????????#if>
????????????ul>
????????div>
????div>
div>
body>
html>
二,定義好頁面后,我們就來獲取數據
同樣這里的數據我們先用模擬數據,后面會用數據庫里的數據。
看下面代碼可以看出來,我們模擬了6條數據,然后每頁顯示2條數據。
import?com.qcl.demo.bean.Demo;
import?org.springframework.web.bind.annotation.GetMapping;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.bind.annotation.RestController;
import?org.springframework.web.servlet.ModelAndView;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Map;
/**
?*?Created?by?qcl?on?2019-04-29
?*?微信:2501902696
?*?desc:freemarker學習
?*/
@RestController
public?class?DemoController?{
????/*
?????*?分頁效果的實現
?????*?*/
????@GetMapping("/pageList")
????public?ModelAndView?list(@RequestParam(value?=?"page",?defaultValue?=?"1")?Integer?page,
?????????????????????????????@RequestParam(value?=?"size",?defaultValue?=?"2")?Integer?size,
?????????????????????????????Map<String,?Object>?map)?{
????????List?demoList?=?new?ArrayList<>(4);
????????demoList.add(new?Demo(1,?"標題1",?"編程小石頭1",?"2501902696"));
????????demoList.add(new?Demo(2,?"標題2",?"編程小石頭2",?"2501902696"));
????????demoList.add(new?Demo(3,?"標題3",?"編程小石頭3",?"2501902696"));
????????demoList.add(new?Demo(4,?"標題4",?"編程小石頭4",?"2501902696"));
????????demoList.add(new?Demo(5,?"標題5",?"編程小石頭4",?"2501902696"));
????????demoList.add(new?Demo(6,?"標題6",?"編程小石頭4",?"2501902696"));
????????demoList.add(new?Demo(7,?"標題7",?"編程小石頭7",?"2501902696"));int?start?=?(page?-?1)?*?2;int?end?=?start?+?size;List?subList?=?demoList.subList(start,?end);int?totalPage?=?(int)?Math.ceil(demoList.size()?/?size);
????????map.put("productInfoPage",?subList);
????????map.put("totalPage",?totalPage);
????????map.put("currentPage",?page);
????????map.put("size",?size);return?new?ModelAndView("demo/list",?map);
????}
}
三,啟動springboot查看效果。
注意每一頁地址欄的url
可以看出,我們第一次訪問時,默認顯示第一頁,url里沒有page和size字段。
訪問第2頁和第3頁時,url里就有了page和size。page是顯示那一頁,size是每頁顯示多少條數據。
到這里我們就實現的管理后臺的分頁效果。
我會把10小時實戰入門java系列課程錄制成視頻,如果你看文章不能很好的理解,可以去看下視頻:https://edu.csdn.net/course/detail/23443
編程小石頭,碼農一枚,非著名全棧開發人員。分享自己的一些經驗,學習心得,希望后來人少走彎路,少填坑。
總結
以上是生活随笔為你收集整理的bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二十三、PHP框架Laravel学习笔记
- 下一篇: Node使用MySQL