文档章节

Spring boot + Thymeleaf + Semantic UI implement a simple pagination

RealPari
 RealPari
发布于 2017/02/28 17:00
字数 213
阅读 181
收藏 1

Controller:

    @RequestMapping(value="/home", method=RequestMethod.GET)
	public String getHomePage(Model model, 
			@RequestParam(value="page", defaultValue = "0") Integer pageIndex,
			@RequestParam(value="pageSize", defaultValue = "10") Integer pageSize){
		
		Sort sort = new Sort(Direction.ASC, "id");
		Pageable pageable = new PageRequest(pageIndex, pageSize, sort);
		Page<User> pageUser = userRepository.findAll(pageable);
		model.addAttribute("users", pageUser.getContent());
		model.addAttribute("pageIndex", pageable.getPageNumber());
		model.addAttribute("pageSize", pageable.getPageSize());
		model.addAttribute("isFirst", pageUser.isFirst());
		model.addAttribute("isLast", pageUser.isLast());
		model.addAttribute("hasPrevious", pageUser.hasPrevious());
		model.addAttribute("hasNext", pageUser.hasNext());
		model.addAttribute("totalPages", pageUser.getTotalPages());
		return "home";		
	}

View page:

<nav>
	<div class="ui pagination stackable menu pagination-centered">
		<a th:class="'item ' + (${isFirst} ? 'disabled' : '')" href="#" th:href="@{/home(page=0)}">First</a> 
		<a th:class="'item ' + (${hasPrevious} ? '' : 'disabled')" href="#" th:href="@{/home(page=(${pageIndex}-1 lt 0 ? 0 : ${pageIndex-1}))}"> Previous </a>
		<div class="item" th:text="${pageIndex+1}+'/'+${totalPages}">1</div>
		<a th:class="'item ' + (${hasNext} ? '' : 'disabled')" href="#" th:href="@{/home(page=(${pageIndex+1} gt ${totalPages} ? ${totalPages} : ${pageIndex+1}))}"> Next </a>
		<a th:class="'item '+ (${isLast} ? 'disabled' : '')" href="#" th:href="@{/home(page=${totalPages-1})}">Last</a>
	</div>
</nav>

Result:

This is a simple method to implement a pagination function. Just using 'Pageable' and 'Page' of Spring, not need to integrate with other templates.

If you have any issues, please add a comment, thanks. Good luck!

© 著作权归作者所有

共有 人打赏支持
RealPari
粉丝 1
博文 49
码字总数 15143
作品 0
昌平
yzijun/sfans-web

##介绍 Sfans是一个用Java和Spring Boot开发的CMS和Blog系统。 核心功能 CMS Blog 技术选型 管理 maven依赖和项目管理 后端 Java 8 Spring Boot 1.2.5 Spring 4.1.7 Spring MVC Spring secu...

yzijun
2015/08/31
0
0
Spring Boot Admin 2.0.0 发布,使用 Vue.js 重写 UI

Spring Boot Admin 2.0.0 已发布。 要注意的是,由于 Spring Cloud Finchley 尚未发布,因此该版本不包含对 Spring Cloud Discovery 的支持。 2.0.0 值得关注的变化包括 UI、客户端和后端的改...

淡漠悠然
06/11
0
0
Spring Boot整合 Thymeleaf 模板引擎

什么是Thymeleaf Thymeleaf是一款用于渲染XML、XHTML、HTML5内容的模板引擎。类似Velocity,FreeMaker模板引擎,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。 Thym...

Java技术栈
06/08
0
0
Spring Boot干货系列: (四)开发Web应用之Thymeleaf篇

        前言   Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。   正文   Spring Boot提供了spring-boot-starter-web为Web开发予以支持,s...

后端编程嘟
2017/03/13
0
0
Spring Boot 2.0干货系列:(一)Spring Boot1.5X升级到2.0指南

前言 Spring Boot已经发布2.0有4个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把本博客中Spring Boot干货系列对应的源码从1.5X升级到Spring Boot 2.0,顺便整理下升级的时候遇到...

嘟爷MD
07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高三暑假我是怎么想开去学linux系统的

高三的时候,我有一句口头禅:“老了老了,现在做题越来越迟钝了”。当时整天日夜苦读,体重日益增加,脸色越来越黯淡,我在终于熬过了高考的时候,简直心里面乐得开了花。我终于可以去做自己...

linuxprobe16
25分钟前
0
0
Python 获得命令行参数的方法

需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2]

编程老陆
31分钟前
0
0
链队

队列用链表来表示时,需要用两个变量来记录队列两端的变化:theFront,theBack. 根据链接方向的不同,链队有两种链接方式(其实就是链表的头插入节点和尾插入节点,头删除节点和尾删除节点)。...

Frost729
35分钟前
0
0
IDEA toString() json模板

public java.lang.String toString() {java.lang.StringBuilder builder = new java.lang.StringBuilder();#set ($i = 0)#foreach ($member in $members)#if ($i == 0)builder.appen......

Mtok
45分钟前
0
0
Dubbo内核实现之SPI简单介绍

Dubbo采用微内核+插件体系,使得设计优雅,扩展性强。那所谓的微内核+插件体系是如何实现的呢!即我们定义了服务接口标准,让厂商去实现(如果不了解spi的请谷歌百度下), jdk通过ServiceLo...

明理萝
50分钟前
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部