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

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

准备工作

还是老规矩,看效果图

9499cdf794b2?from=timeline

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

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

9499cdf794b2?from=timeline

9499cdf794b2?from=timeline

9499cdf794b2?from=timeline

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java $p_javap -c命令详解

一直在学习Java,碰到了很多问题&#xff0c;碰到了很多关于i和i的难题&#xff0c;以及最经典的String str "abc" 共创建了几个对象的疑难杂症。 知道有一日知道了java的反汇编 命令 javap。现将学习记录做一小结&#xff0c;以供自己以后翻看。如果有错误的地方&a…

hibernate 映射四多对一双向映射

学生和班级的例子来说&#xff0c;多个学生可以对应一个班级。 1.站在学生角度来说&#xff0c;学生就是多端。那么我们可以通过多对一来维护2者的关系。 2.站在班级的角度来说&#xff0c;班级就是一端。那么我们可以通过一对多啦维护2者的关系。 3.我们也可以双向关联两者的关…

django mysql 表单_Python Django 表单提交数据到mysql并展示

首先1&#xff1a; 新建项目userproject&#xff0c; 新建应用childName2&#xff1a; 这是childName文件目录&#xff0c;templates文件夹放insert.html 与 show.html3&#xff1a; insert.html 与 show.html/**insert.html**/用户登录12345678910111213141516Title信息展示用…

体验最火的敏捷——SCRUM(厦门,2014.1.4)

1.概述SCRUM是当前最火的一种敏捷开发方法&#xff0c;有用户故事、冲刺、燃尽图等很多很酷的玩法&#xff0c;有牛B的产品负责人、SCRUM Master&#xff0c;有超强的自组织团队。本沙龙将为您展现当前最火最酷的敏捷开发方法&#xff01;内容大纲&#xff1a;1)SCRUM是神马东西…

[单选]物联网产业链的主要产品不包括下列哪一项 - 关于物联网(主讲:柳毅)笔记...

[单选]物联网产业链的主要产品不包括下列哪一项 转载于:https://www.cnblogs.com/scgw/p/3488452.html

java web读取excel_JavaWeb使用POI操作Excel文件实例

1.为项目添加POI点进去之后下载(上边的是编译好的类&#xff0c;下边的是源代码)解压文件夹&#xff0c;把下面三个文件复制到WebComtent>WEB-INF>lib文件夹下再把这三个文件复制到Tomcat的lib文件夹下&#xff0c;否则Tomcat会因为找不到类而报错(这个地方郁闷了一上午)…

java 静态方法与实例方法的区别_静态方法与实例方法的区分

Java系列之&#xff1a;看似简单的问题 静态方法和实例化方法的区别Java程序启动class文件被读取时类被加载&#xff0c;如果有static方法&#xff0c;此时会分配内存&#xff0c;非static方法实例化类时才在内存中分配控件存储&#xff0c;引用存储在堆栈中&#xff0c;实体存…

easyui源码翻译1.32--ValidateBox(验证框)

前言 使用$.fn.validatebox.defaults重写默认值对象。下载该插件翻译源码 validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效。如果用户输入了无效的值&#xff0c;它将会更改输入框的背景颜色&#xff0c;并且显示警告图标和提示信息。该验证框可以结合form(表单…

学java前要学css_教你一招:学习Java必须学会的CSS用法

一&#xff1a;CSS概述什么是CSSCSS就是层叠样式表(Casading Style Sheets)&#xff0c;通常称为CSS样式表&#xff0c;或者是级联样式表。主要用于设置HTML中的文本&#xff0c;内容(字体&#xff0c;大小&#xff0c;对齐)&#xff0c;图片外形(宽高&#xff0c;边框样式&…

标准I/O库之缓冲

标准I/O库提供缓冲的目的是尽可能减少使用read和write调用的次数。它也对每个I/O流自动地进行缓冲管理&#xff0c;从而避免了应用程序需要考虑这一点所带来的麻烦。 标准I/O提供了三种类型的缓冲&#xff1a; &#xff08;1&#xff09;全缓冲。这种情况下&#xff0c;在填满标…

java如何写安卓接口文档_android、java制作sdk以及自动生成文档

最近一直在做android开发&#xff0c;昨天经理让我写个接口SDK做个接口文档&#xff0c;以便后面的开发。这让我很焦灼&#xff0c;SDK怎么做&#xff1f;要是只有敲代码还好。可是那个接口文档&#xff01;&#xff01;&#xff01;文档这东西最讨厌了&#xff0c;头都大了后来…

21世纪的设计模式:抽象工厂模式

这是我的演讲的第二部分&#xff0c;“ 21世纪的设计模式” 。 此模式在Java代码中到处都有使用&#xff0c;尤其是在更多“企业”代码库中。 它涉及一个接口和一个实现。 该界面如下所示&#xff1a; public interface Bakery {Pastry bakePastry(Topping topping);Cake bak…

java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...

1.什么是动态语言&#xff1f;程序运行时&#xff0c;可以改变程序的结构或者变量类型&#xff1b;如Python&#xff0c;javaScriptfunction(){var s"var a3;var b4;" evals(s);}在执行javascript代码的的过程中&#xff0c;可以改变变量的值或插入语句改变结构。但J…

mysql构建栋_【转载】这次拆库 应是微服务化的拆分方式

一、现状现状.png我们将一个大而全的系统一拆为三&#xff0c;容器&#xff0c;发布&#xff0c;测试都已经独立出去&#xff0c;但是原始的数据库还是一套&#xff0c;现在需要将数据库做一个拆分&#xff0c;A、B、C三个系统有各自的数据库之后&#xff0c;我们的微服务化在现…

使用SharePoint 2010新增的文档集内容类型来管理文档

使用SharePoint 2010新增的文档集内容类型来管理文档 SharePoint 2010新增加的文档集功能是作为内容类型存在的&#xff0c;使用范围在网站集中&#xff0c;需要激活“文档集”功能到网站集才可以正常使用。文档集其实就是一个SharePoint产品增强的文件夹和内容类型的综合体现。…

基于visual Studio2013解决算法导论之019栈实现(基于数组)

&#xfeff;&#xfeff;&#xfeff;题目用数组实现栈解决代码及点评#include <stdio.h> #include <stdlib.h> #include <time.h> #include <malloc.h> #include<assert.h>typedef struct Stack {int nTop;int nLen;int *pnArr; }Stack, *PSta…

关闭终端php就退出进程_解决windows下php-cgi进程经常自动关闭

php-cgi在linux中有fpm管理&#xff0c;Apache不是采用cgi这种模式&#xff0c;于是乎就出现了&#xff0c;在windows下&#xff0c;采用nginx时&#xff0c;开启的php-cgi监听非常不稳定&#xff0c;经常奔溃关闭。现在解决了这个问题。注意是win32位系统下解决的&#xff0c;…

php为什么获取不到id,微信小程序无法获取到unionId怎么办

UnionID机制说明如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序)&#xff0c;可通过unionid来区分用户的唯一性&#xff0c;因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序)&#xff0c;用户的unionid是唯一的。换句话说&#x…

CUBA平台–新的Java企业应用程序框架

所以..你好&#xff0c;世界&#xff01; 我们的英语网站终于可以正常使用了&#xff0c;现在每个人都可以下载该平台&#xff0c;并可以以前所未有的速度更快地创建业务应用程序。 在我们决定与国际Java社区共享足够好之前&#xff0c;我们花了六年的永久发展和偶尔的革命&…

Abiword页面布局

Abiword页面布局 AP_Win32FrameImpl::_DocumentWndProc 文档窗口过程函数在WM_SIZE消息中设置FV_View对象的整体尺寸&#xff0c;跟窗体的&#xff1a;设备单位 转换成&#xff1a;布局单位。m_iWindowWidth 19695&#xff0c;m_iWindowHeight 8520 设备单位和布局单位的比例是…