1. 分页引用:
<jsp:include page="/jsp/common/resource_page.jsp"/>
2. resource_page.jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<c:set var="basePath" value="${pageContext.request.contextPath }" />
<ul class="pagination">
<c:if test="${pages <=5}">
<c:forEach items="${pagesList}" var="p" varStatus="status">
<li <c:if test="${page eq status.index+1}">class="active"</c:if>><a
href="javascript:void(0)"
<c:if test="${page ne status.index+1}">onclick="searchList(${status.index+1})"</c:if>>${status.index+1}</a>
</li>
</c:forEach>
</c:if>
<c:if test="${pages >5}">
<li <c:if test="${page eq 1}">class="disabled"</c:if>><a
href="javascript:void(0)"
<c:if test="${page ne 1}">onclick="searchList(${page-1})"</c:if>>«</a>
</li>
<c:forEach items="${pagesList}" var="p" varStatus="status" begin="${beginPage }" end="${endPage }">
<li <c:if test="${page eq status.index+1}">class="active"</c:if>><a
href="javascript:void(0)"
<c:if test="${page ne status.index+1}">onclick="searchList(${status.index+1})"</c:if>>${status.index+1}</a>
</li>
</c:forEach>
<li <c:if test="${page eq pages}">class="disabled"</c:if>><a
href="javascript:void(0)"
<c:if test="${page ne pages}">onclick="searchList(${page+1})"</c:if>>»</a>
</li>
</c:if>
</ul>
3. 根据页码请求数据:
function searchList(page){
var basePath = '${basePath}';
document.thisform.action = basePath+"/trade/queryOrder.htm?page="+page+"&rows=20";
$("#thisform").submit();
}
4. controller编码:
@RequestMapping(value = "/queryOrder.htm")
public String queryOrderInfo(Model model, HttpServletRequest request,
HttpServletResponse response) throws ParseException {
LOGGER.info(JSON.toJSONString(request.getParameterMap()));
// 分页数据
String page = request.getParameter("page");
String size = request.getParameter("rows");
int offset = 0;
if (null!=page&&!"".equals(page))
offset = (Integer.parseInt(page) - 1) * Integer.parseInt(size);
else
page = "1";
int limit = 20;
if (null!=size&&!"".equals(size))
limit = Integer.parseInt(size);
//查询结果
OrderDetailBo order = new OrderDetailBo();
order = setOrderDetailBoValue(request, model, response, order);
if (order == null) {
return "forward:../index.htm";
}
List<OrderDetailBo> list = orderDetailService.queryPageList(order,offset,limit);
int total = orderDetailService.queryCount(order);
//返回页面model
model.addAttribute("orderList", list);
pageBuildParameters(model,total,Integer.parseInt(page),limit);
return "trade/orderQuery";
}
5. pageBuildParameters方法的编码:
private void pageBuildParameters(Model model,int total,int page,int limit) {
model.addAttribute("total", total);
model.addAttribute("page", page);
model.addAttribute("size", limit);
int pages = total%limit>0?(total/limit)+1:(total/limit);
// pages = 5;测试
model.addAttribute("pages", pages);
List<Integer> pagesList = new ArrayList<Integer>();
for (int i=0; i<pages; i++) {
pagesList.add(i+1);
}
model.addAttribute("pagesList", pagesList);
int beginPage = 0;
int endPage = 4;
if (pages>5) {
int pageGroup = page%5>0?(page/5)+1:(page/5);
if (pages-page>=5) {
beginPage = (pageGroup-1)*5;
endPage = pageGroup*5-1;
} else {
beginPage = pages-5;
endPage = pages;
}
}
model.addAttribute("beginPage", beginPage);
model.addAttribute("endPage", endPage);
}
分享到:
相关推荐
**PHP+MYSQL分页代码类**是一个用于处理大型数据集的实用工具,旨在优化网站性能,提高用户体验。在网页上显示大量数据时,分页是一种常见的解决方案,它将结果分割成多个页面,允许用户逐步浏览,而不是一次性加载...
本资源“repeater等公共类分页代码”提供了一种实现Repeater控件分页的方法,通过创建可复用的公共类,使得分页功能在多个页面间共享,降低代码冗余,提高代码的可维护性。 首先,我们需要理解Repeater控件的基本...
从给定的PHP分页代码片段中,我们可以深入解析并理解其核心功能和实现机制,以下是对该分页代码的详细分析与知识点提取。 ### 分页功能概述 分页是Web开发中的常见需求,用于处理大量数据时的展示问题,避免一次性...
从内容片段中可以提炼出一些关于脚本分页代码的实现特点: 1. **样式的复用性**:通过CSS类的定义,使得多个元素可以共享同一套样式,减少代码重复,提高维护效率。 2. **简洁的DOM操作**:分页逻辑通过简单的...
6. **App_Code**:这是一个特殊的目录,在ASP.NET应用程序中用于存放共享的代码类。在本项目中,可能包含了处理数据访问和业务逻辑的类文件。 7. **Images**:该目录通常存储用于网页的图像资源,可能包括分页控件...
首先,JavaBean是Java中的一种组件模型,它定义了一种规范,使得Java对象可以在不同环境中被共享和重用。在本项目中,JavaBean可能用于封装分页所需的数据和逻辑,例如当前页数、总页数、每页显示的条目数等属性,并...
6. **扩展性与可复用性**:为了实现代码的可重用性,我们可以创建一个通用的分页帮助类或辅助方法,供多个控制器和视图共享。这样,每次需要分页功能时,只需调用这个通用方法,就能轻松实现。 综上所述,这个"可...
- `AspNetPager2003.suo`和`.csproj.user`:这两个文件存储了用户特定的设置,如IDE的布局、断点和调试配置,它们不是源代码控制的一部分,通常不与他人共享。 3. **特性与功能**: - **样式自定义**:...
学习到的一个分页源码,共享给大家: Repeater分页 DataList分页 Url分页 使用Url重写技术 Url逆向分页 N层结构应用 使用XML文件数据源 图片浏览示例 使用AccessDataSource 使用SqlDataSource 使用ObjectDataSource ...
在多用户环境中,资源(如内存、磁盘空间、打印机等)可能会被多个进程共享。银行家算法通过预分配和预留资源来避免死锁,确保系统安全。它模拟了一个银行系统,每个进程被视为银行的客户,每个资源被视为银行的存款...
通过这个实验,参与者不仅可以学习到分页存储管理的基础理论,还可以通过编写和调试代码,深入理解地址转换过程,以及各种页面淘汰算法的工作原理。这些经验对于理解操作系统如何高效地管理内存至关重要,对于未来...
4. 添加状态管理,例如Vuex,以便在多个组件间共享分页状态。 5. 提供国际化支持,方便不同语言的用户使用。 总的来说,这个"vue.js分页插件代码"提供了一个基础的分页解决方案,通过Vue的计算属性和事件系统,实现...
用户控件是一种可以重用的组件,可以包含HTML元素、服务器控件以及自定义代码,便于在多个页面间共享。 分页是一种优化网页性能和用户体验的技术,它允许用户逐步加载大量数据,而不是一次性加载所有内容。在ASP...
关于“dlls”这个压缩包子文件的文件名称,这通常指的是动态链接库文件,它们包含可由多个程序共享的代码和数据。在这个PB Demo中,dlls可能是PB应用所依赖的一些特定库或自定义函数库,这些库文件可能包含了与...
多线程是指在一个程序中包含多个可以并发执行的线程,这些线程共享相同的内存空间。通过合理利用多线程技术,可以显著提升程序的运行效率和响应速度。在Java中,可以通过继承`Thread`类或者实现`Runnable`接口来创建...
DLL是Windows操作系统中的一种共享库,它包含了一组可执行代码和数据,可供多个程序同时调用。对于开发者来说,DLL可以减少内存占用,提高代码重用性,并简化软件维护。 AspNetPager.dll是E.W.D.N.Y.C.公司开发的...
它通过拦截器的方式,自动帮助我们完成分页查询,无需编写复杂的分页代码。PageHelper不仅支持物理分页,还支持逻辑分页,同时兼容多种数据库,如MySQL、Oracle、DB2等。 在"描述"中提到,这是一个新手项目,后端...
9. **状态管理**:在单页应用中,分页状态(当前页、总页数等)可能需要与其他组件共享。使用状态管理库如Redux或Vue的Vuex可以帮助组织和管理这些状态。 10. **用户体验优化**:加载新分页时,避免让用户等待,...
在`app_code`目录下,开发者通常会放置共享的类库代码,比如自定义的数据库访问层或业务逻辑。这些代码可能包括处理分页查询的函数。 `App_Data`是ASP.NET默认的存放数据库文件的目录,如果项目使用了如SQL Server ...
3. DLL文件:动态链接库(DLL)是Windows操作系统中的共享库,包含可由多个程序同时使用的代码和资源。在本例中,分页控件被封装成DLL,便于其他项目引用和使用。 二、功能特性 1. 用户友好的界面:Winform分页...