本节是建立在上节的基础上,上一节给大家讲了管理后台表格如何展示数据,但是当我们的数据比较多的时候我们就需要做分页处理了。这一节给大家讲解如何实现表格数据的分页显示。

准备工作

还是老规矩,看效果图

可以看出我们实现了如下功能

1,表格数据的展示

2,分页效果的实现

3,上一页和下一页的实现

4,当前选中页码加重颜色

下面来看实现步骤

一,定义表格和分页组件

简单说说代码

head里面是引入bootstrap的样式库

table定义表格来展示数据

ul里定义分页

代码如下:

freemarker+bootstrap学习

href="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/css/bootstrap.min.css">

id姓名微信操作

${productInfo.id}${productInfo.name}${productInfo.wechat}

下架

上架

#if>

#list>

  • 上一页
  • 上一页

#if>

${index}

${index}

#if>

#list>

下一页

下一页

#if>

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

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

看下面代码可以看出来,我们模拟了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 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

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

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

java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...相关推荐

  1. bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能

    本节是建立在上节的基础上,上一节给大家讲了管理后台表格如何展示数据,但是当我们的数据比较多的时候我们就需要做分页处理了.这一节给大家讲解如何实现表格数据的分页显示. 准备工作 1,项目要引入freem ...

  2. Java中的字符集编码入门Java中的增补字符

    转载自:http://jiangzhengjun.iteye.com/blog/512083 Java中的字符集编码入门Java中的增补字符 博客分类: 字符集编码 Java Java号称对Unico ...

  3. java编程启蒙_程序设计入门—Java语言

    第一周:做点计算 1.1 第一个程序 如何下载.安装Eclipse和JRE,并且简单介绍一下这个软件的几个主要部分:如何在Eclipse中编辑.编译和运行程序:详解第一个程序:程序框架.输出.出错怎么 ...

  4. java 中飞机大战碰撞检测,飞机大战开发04子弹与敌机的碰撞检测

    先是敌机与玩家子弹的碰撞检测: 代码: GameLayer.h void GameLayer::update(float dt) { for (int i = 0 ;i < m_pEnermyV ...

  5. 开发基于SpringBoot和BootStrap的全栈论坛网站(一):准备阶段

    当学习完一种技术后,将所有知识点串联起来最好的方法就是以此为基础做一个完整的项目.最近心血来潮打算以SpringBoot为基础从零开始开发一款全栈的论坛博客网站. (一)前序 对本人来说开发这个项目最 ...

  6. 安卓开发——为自己的app快速集成聊天功能

    最近一直在看尚硅谷的<硅谷社交>,里面用的是环信(https://www.easemob.com/)的pass服务,我觉得 既然是第三方sdk,也就没有必要看视频了,挺费时间 . 环信的功 ...

  7. Java后台微信点餐小程序开发最新版笔记,Springboot+Mysql+Freemarker+Bootstrap+微信小程序实现扫码点餐小程序,包含语音提示,微信消息推送,网页管理后台

    由于之前的Java后台微信点餐小程序有些知识点过时了,所以今天重新出一版,把里面过时的知识点更新下 前五章是部署笔记,后面是知识点的详细讲解,大家可以先看部署笔记,部署起来后,再跟着详细知识学习. 第 ...

  8. java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)

    原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...

  9. java项目_好程序员Java分享从入门到服务端项目开发的过程

    好程序员Java分享从入门到服务端项目开发的过程,对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫.结合前人经验,就从入门到进阶对于Java的学习而 ...

最新文章

  1. flex--unable to transcode image
  2. 提高性能:用RequireJS优化Wijmo Web页面
  3. LeetCode Design TinyURL
  4. C/C++之类的前置声明
  5. 腾讯数字生态大会倒计时4天:请收下这份最全的TEG参会攻略~
  6. 跟着迪哥学python 经管之家_跟着迪哥学Python数据分析与机器学习实战
  7. [转]C/C++ 文件读写操作总结
  8. C++this指针的用途
  9. Excel 2016双击文件打开为空白的解决办法-亲测解决。
  10. 网络管理之TCP/UDP篇
  11. PTAM算法流程介绍
  12. 电气自动化和计算机专业比较,高考专业自动化专业和电气工程及其自动化的区别 哪个好...
  13. 如何导出html中的图片,一键保存网页中的全部图片
  14. jscript php,JavaScript_JScript 运算符,JScript 运算符算术运算符- phpStudy
  15. 用摄像管替换电视机电路里的显现管的摄像机
  16. 两种方法实现轮播图效果
  17. 一直在路上 | 多位顶尖技术大咖入驻腾讯云最具价值专家
  18. 利用七参数进行CGCS2000坐标系到西安80坐标系的转换
  19. PAT_乙级1016
  20. 推荐一位 10w+ 粉丝的 Python 工程师

热门文章

  1. 通信中的频谱效率与能量效率
  2. 鸿蒙与安卓系统简单对比,绝非追求三分天下。
  3. 数据库(3)——关系
  4. java报错找不到对象,使用Spring源码报错java:找不到类 InstrumentationSavingAgent的问题...
  5. 笑郭网络验证3.8研究笔记(内有视频教程)
  6. 跨域/非跨域接口专题
  7. MySQL 安全性知识要点
  8. GoldenGate Logdump基本使用
  9. SQL存储过程分页(通用的拼接SQL语句思路实现)
  10. 计算机学英文是什么,“计算机科学与技术专业本科课程”的英文翻译是什么?...