基于springboot和ajax的简单项目 一直会出现的页面的上一页,下一页,分页与总页数
在Spring Boot和Ajax的环境下,实现一个简单的分页功能,可以通过前端Ajax请求后端Spring Boot控制器获取数据,并在前端动态渲染分页信息。以下是一个简化的例子:
后端Spring Boot Controller:
@Controller
public class PaginationController {
// 假设这是分页查询方法,可以根据实际情况修改
@RequestMapping(value = "/getData", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> getData(
@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
// 模拟数据总数
int total = 100;
// 计算总页数
int totalPages = (int) Math.ceil((double) total / size);
// 模拟查询结果
List<String> data = new ArrayList<>();
for (int i = 0; i < size; i++) {
data.add("Item " + (page * size + i));
}
Map<String, Object> response = new HashMap<>();
response.put("data", data);
response.put("currentPage", page);
response.put("totalPages", totalPages);
return response;
}
}
前端Ajax请求与分页逻辑:
<!DOCTYPE html>
<html>
<head>
<title>分页示例</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div id="data-container">
<!-- 数据加载到这里 -->
</div>
<div id="pagination">
<!-- 分页信息动态添加到这里 -->
</div>
<script>
$(document).ready(function() {
loadData(1); // 默认加载第一页数据
});
function loadData(page) {
$.get("/getData", { page: page, size: 10 }, function(data, status) {
// 清空数据容器
$('#data-container').empty();
// 遍历数据并添加到容器
$.each(data.data, function(key, value) {
$('#data-container').append('<p>' + value + '</p>');
});
// 更新分页信息
$('#pagination').empty();
for (let i = 1; i <= data.totalPages; i++) {
$('#pagination').append('<a href="#" onclick="loadData(' + i + ')">' + i + '<
评论已关闭