10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能

				<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>



[]( )二,定义好页面后,我们就来获取数据

------------------------------------------------------------------------------



同样这里的数据我们先用模拟数据,后面会用数据库里的数据。  

看下面代码可以看出来,我们模拟了6条数据,然后每页显示2条数据。



package com.qcl.demo.controller;

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<Demo> 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<Demo> 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  

![](https://img-blog.csdnimg.cn/img_convert/9c82762ba32de8676166cb7aa3a323eb.webp?x-oss-process=image/format,png)  

![](https://img-blog.csdnimg.cn/img_convert/21d835327cf2effe031a52626ab9a981.webp?x-oss-process=image/format,png)  

![](https://img-blog.csdnimg.cn/img_convert/ae873d12bf686cd2f2316e9079b3ab9f.webp?x-oss-process=image/format,png)  

可以看出,我们第一次访问时,默认显示第一页,url里没有page和size字段。  

访问第2页和第3页时,url里就有了page和size。page是显示那一页,size是每页显示多少条数据。  

到这里我们就实现的管理后台的分页效果。



> 我会把10小时实战入门java系列课程录制成视频,如果你看文章不能很好的理解,可以去看下视频:[https://edu.youkuaiyun.com/course/detail/23443]( )



有任何关于编程的问题都可以加我微信2501902696(备注编程开发)



#### []( )编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。



 



  



本文转自 [https://xiaoshitou.blog.youkuaiyun.com/article/details/89675423]( ),如有侵权,请联系删除。
,可以去看下视频:[https://edu.youkuaiyun.com/course/detail/23443]( )



有任何关于编程的问题都可以加我微信2501902696(备注编程开发)



#### []( )编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。



 



  



本文转自 [https://xiaoshitou.blog.youkuaiyun.com/article/details/89675423]( ),如有侵权,请联系删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值