今天就跟大家聊聊有关怎么在SpringBoot中利用thymeleaf模板实现一个paginate分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。pom.xml 加入 
今天就跟大家聊聊有关怎么在SpringBoot中利用thymeleaf模板实现一个paginate分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
pom.xml 加入
<!--支持 WEB 应用开发,包含 Tomcat 和 spring-mvc。 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency><!--模板引擎--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> <!-- mybatis pagehelper --> <dependency> <groupId>com.GitHub.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.6.3</version> </dependency> <!--Mysql / DataSource--> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </dependency> <dependency> <groupId>Mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--springboot 集成Mybatis所需jar配置 end-->
application.properties文件
spring.datasource.platfORM=mysqlspring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.passWord=rootspring.datasource.driverClassName=com.mysql.jdbc.Driver# Advanced configuration...spring.datasource.max-active=50spring.datasource.max-idle=6spring.datasource.min-idle=2spring.datasource.initial-size=6#create tablespring.jpa.hibernate.ddl-auto=validatespring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.htmlspring.thymeleaf.mode=HTML5spring.thymeleaf.encoding=UTF-8spring.thymeleaf.content-type=text/html spring.thymeleaf.cache=false
启动类 Application.java
@SpringBootApplication@MapperScan("com.boot.mapper")public class Application { //定义一个全局的记录器,通过LoggerFactory获取 private final static Logger logger = LoggerFactory.getLogger(Application.class); //----------------------------mybaits配置start------------------------------------------- //DataSource @Bean @ConfigurationProperties(prefix="spring.datasource") public DataSource dataSource() { return new org.apache.tomcat.jdbc.pool.DataSource(); } //SqlSessionFactory @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:mapper private static final long serialVersionUID = 1L; public int getPageon() { return pageon; } public void setPageon(int pageon) { this.pageon = pageon; } public int getRowcount() { return rowcount; } public void setRowcount(int rowcount) { this.rowcount = rowcount; } public int getPagecount() { return pagecount; } public void setPagecount(int pagecount) { this.pagecount = pagecount; } public int getRow() { return row; } public void setRow(int row) { this.row = row; } public Page(int pageon, int row, int rowcount) { pageNumber = 11; this.pageon = pageon; this.row = row; this.rowcount = rowcount; compute(); } public Page(int pageon, int row) { pageNumber = 11; this.pageon = pageon; this.row = row; } public Page(int pageon) { pageNumber = 11; this.pageon = pageon; } public Page() { pageNumber = 11; } public int getPageNumber() { return pageNumber; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public void compute() { if (rowcount <= 0) return; if (row <= 0) row = 10; pagecount = rowcount % row != 0 ? rowcount / row + 1 : rowcount / row; if (pageon > pagecount) pageon = pagecount; if (pageon < 1) pageon = 1; start = (pageon - 1) * row; end = pageon * row; if (end > rowcount) end = rowcount; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public void setRowcountAndCompute(int rowcount) { this.rowcount = rowcount; compute(); } protected int pageon; protected int rowcount; protected int pagecount; protected int row; protected int start; protected int end; protected int pageNumber;}
前端代码开始
statis目录下加入如下几个文件
在templates目录下建立一个前端分页工具页面 page.html,(虽然代码不多,封装这点东西花费我半天时间!!)
<!DOCTYPE html ><html xmlns="Http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"><head th:fragment="page"><link rel="stylesheet" th:href="@{/CSS/pagestyle.css}" rel="external nofollow" /><script type="text/javascript" th:src="@{/js/Jquery-3.1.1.min.js}"></script><script type="text/javascript" th:src="@{/js/jquery.paginate.js}"></script><script th:inline="javascript">(function($) { var count=[[${page.pagecount}]]; var start=[[${page.pageon}]]; var url=$("#page").attr('url'); var displaycnt=count>10?10:count; fenye(count,start,url,displaycnt);})(jQuery); function fenye(count,start,url,displaycnt){ if(count<2) return; $("#page").paginate({ count : count, start : start, display : displaycnt, border : true, border_color : '#fff', text_color : '#fff', background_color : 'pink', border_hover_color : '#ccc', text_hover_color : '#000', background_hover_color : '#fff', images : true, mouse : 'press', onChange: function(page_index) { var tourl; if(url.indexOf('?')>0) tourl=url+'&pageon='+page_index; else tourl=url+'?pageon='+page_index; window.location.href=tourl; } }); };</script></head></html>
接下来就是引用分页插件了。
在templates目录下建立userlist.html.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"/><title>用户列表</title></head><body><div > <table > <tr> <td>ID</td> <td>姓名</td> <td>密码</td> </tr> <p th:each="user:${list}"> <tr> <td th:text="${user.id}">ID</td> <td th:text="${user.name}">姓名</td> <td th:text="${user.password}">密码</td> </tr> </p> </table> <div id="page" url="/userlist" ></div> <div th:replace="page :: page"></div></div></body></html>
可以看到 引用分页的代码 只有两句,是不是很好用
<div id="page" url="/userlist" ></div><div th:replace="page :: page"></div>
看完上述内容,你们对怎么在springboot中利用thymeleaf模板实现一个paginate分页功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。
--结束END--
本文标题: 怎么在springboot中利用thymeleaf模板实现一个paginate分页功能
本文链接: https://www.lsjlt.com/news/224528.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0