`
- 浏览:
137918 次
-
3.分页辅助类
java 代码
- ViewPageHelper.java
-
-
-
- public class ViewPageHelper {
- private static final int FIRST_PAGE_VALUE = 1;
-
- private static final int PREVIOUS_PAGE_VALUE = 2;
-
- private static final int NEXT_PAGE_VALUE = 3;
-
- private static final int LAST_PAGE_VALUE = 4;
-
- private static final int SPECIAL_PAGE_VALUE = 5;
-
- public static final String FIRST_PAGE = "FIRST_PAGE";
-
- public static final String PREVIOUS_PAGE = "PREVIOUS_PAGE";
-
- public static final String NEXT_PAGE = "NEXT_PAGE";
-
- public static final String LAST_PAGE = "LAST_PAGE";
-
- public static final String SPECIAL_PAGE = "SPECIAL_PAGE";
-
-
- public static final String PAGE_ACTION = "page_action";
-
-
- public static final String SESSION_PAGE = "session_page";
-
-
- public static final String PAGE_NO = "page_no";
-
- private static Map actionMap = new HashMap();
- static {
- actionMap.put(FIRST_PAGE, new Integer(FIRST_PAGE_VALUE));
- actionMap.put(PREVIOUS_PAGE, new Integer(PREVIOUS_PAGE_VALUE));
- actionMap.put(NEXT_PAGE, new Integer(NEXT_PAGE_VALUE));
- actionMap.put(LAST_PAGE, new Integer(LAST_PAGE_VALUE));
- actionMap.put(SPECIAL_PAGE, new Integer(SPECIAL_PAGE_VALUE));
- }
-
-
-
-
-
-
- public static void doAction(ViewPage page, String action, int pageIndex) {
- int actionIndex = 0;
- if (page == null) {
- throw new NullPointerException("Page对象null");
- }
- if (action == null || "".equals(action)) {
- throw new IllegalArgumentException("无效的分页动作参数null");
- }
- action = action.toUpperCase();
- if (!actionMap.containsKey(action)) {
- throw new UnsupportedOperationException("不支持的分页动作参数:" + action);
- }
- Integer index = (Integer) actionMap.get(action);
- actionIndex = index.intValue();
- switch (actionIndex) {
- case FIRST_PAGE_VALUE:
- page.gotoFirstPage();
- break;
- case PREVIOUS_PAGE_VALUE:
- page.gotoPreviousPage();
- break;
- case NEXT_PAGE_VALUE:
- page.gotoNextPage();
- break;
- case LAST_PAGE_VALUE:
- page.gotoLastPage();
- break;
- case SPECIAL_PAGE_VALUE:
- page.gotoPage(pageIndex);
- }
- }
-
- public static void doAction(ViewPage page, String action){
- doAction(page, action, 1);
- }
- }
五、应用通用分页框架
1.继承AbstractViewPage类,实现queryPageList(int startRow, int endRow)和
queryTotalRows()方法。
protected int queryTotalRows() throws Exception
获得查询条件的总记录数
protected List queryPageList(int startRow, int rowCount)
用于查询指定范围的数据。startRow为开始记录号, rowCount为查询的记录数
queryPageList(0,20)为查询从第一条开始的20条记录。
使用Ibatis可以由queryPageList调用queryForList()方法。
java 代码
-
-
-
- class UserInfoPage extends AbstractViewPage{
-
-
-
-
-
-
-
-
- protected List queryPageList(int startRow, int endRow) throws Exception {
- return sampleAction.getUserInfoList(startRow, endRow);
- }
-
-
-
-
- protected int queryTotalRows() throws Exception {
- return sampleAction.getUserCount();
- }
-
- }
-
-
-
- 3. 在Contrller中的实现
- public ModelAndView listUser(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- String pageAction =
- RequestUtils.getStringParameter(request,ViewPageHelper.PAGE_ACTION);
- Integer pageIndex =
- RequestUtils.getIntParameter(request,ViewPageHelper.PAGE_NO);
-
- ViewPage userPage =
- (ViewPage) request.getSession().getAttribute(ViewPageHelper.SESSION_PAGE);
-
- if(pageAction == null || userPage == null){
-
- userPage = new UserInfoPage();
-
- userPage.setPageSize(2);
- }else{
-
- if(ViewPageHelper.SPECIAL_PAGE.equals(pageAction)){
-
- if (pageIndex == null)
- pageIndex = new Integer(1);
- ViewPageHelper.doAction(userPage,pageAction,pageIndex.intValue());
- }else{
- ViewPageHelper.doAction(userPage,pageAction);
- }
- }
-
-
- List userInfoList = userPage.getPageData();
-
- ModelAndView mav = new ModelAndView(userInfoListView);
- mav.addObject(this.userInfoListKey,userInfoList);
- request.getSession().setAttribute(ViewPageHelper.SESSION_PAGE,userPage);
- return mav;
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本话题将深入探讨“通用分页实现及其OO设计”,结合给定的“Paginaction.jsp”文件,我们可以进一步了解在Java Web开发中如何有效地实现分页功能。 首先,我们需要理解分页的基本概念。分页是将大量数据分割成多个...
Java 通用分页详解 Java 通用分页是指在Java编程中对大量数据进行分页处理,以提高系统效率和性能。下面对Java通用分页的知识点进行详细说明: 1. 分页的必要性 在实际项目中,数据量可能非常大,直接查询所有...
本压缩包“超强php分页打包 通用分页 万能分页 ajax分页 google分页”提供了一系列的分页解决方案,包括了基本的PHP分页、通用的分页实现、以及结合AJAX技术的动态分页,旨在满足各种项目需求。下面将详细介绍这些...
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
在这个项目中,"SSM实现通用分页"指的是通过这三个框架来实现数据的分页展示功能,这在大数据量的网页展示中尤为重要,可以有效提升用户体验并减轻服务器压力。 首先,Struts2作为MVC框架,负责处理HTTP请求和响应...
这个"java通用分页代码实例"应该包含了上述概念的实现,你可以通过解压"page"文件查看具体代码,学习如何将这些理论应用到实践中。通过学习和理解这个实例,你可以更好地掌握Java中的分页技术,并将其应用于自己的...
使用SQL语句实现通用分页查询,支持模糊查询等。
本文将详细探讨"JAVA写的通用分页"这一主题,结合描述中的"通用高效分页存储过程实现",我们将深入理解Java分页的原理、实现方式以及优化策略。 首先,分页的基本概念是将大量数据分块展示,而不是一次性加载所有...
二、设计通用分页接口 一个通用的分页方法接口应该包含以下几个核心元素: 1. **页码(Page Number)**:表示当前请求的页面位置,通常从1开始计数。 2. **每页大小(PageSize)**:定义每一页显示的数据条目数量...
本DEMO主要展示了如何实现一个通用的分页功能,覆盖了后台和前台的处理逻辑。以下是对这个主题的详细阐述: 一、分页原理 分页的核心原理是通过限制每次查询的数据量,只获取用户当前需要查看的一部分数据,同时...
Mybatis通用分页插件是Java开发中广泛使用的ORM(对象关系映射)框架扩展,主要针对Mybatis进行优化,提供了高效便捷的分页功能。这个插件的目的是简化在数据库查询时的分页操作,使得开发者能够更专注于业务逻辑,...
综上所述,Java实现分页通用代码主要包括创建Page对象、处理分页参数、编写分页SQL、填充Page对象及提供相关辅助方法。在实际项目中,这些组件可以抽象成一个通用的分页工具类或者服务,以提高代码复用性和可维护性...
SSH分页 分页 通用分页 struts2分页
hibernate_mysql_struts2 实现的通用分页类.欢迎指正
描述中没有提供具体信息,但我们可以推测这个压缩包可能包含了一个示例项目或者代码库,用于演示如何在C#和ASP.NET中实现通用的分页功能。这可能包括一个数据库查询、数据绑定到分页控件,以及相关的用户界面设计。 ...
本文将深入探讨PHP分页的实现原理和具体步骤,并通过一个名为“小贤PHP通用分页程序”的实例进行详解。 1. **分页原理** 分页的基本思想是将大量数据分成多个小块(页),每次只加载一部分数据到前端展示,用户...
"封装通用的Spring3+Struts2+JPA的CRUD 通用分页实现"是一个典型的Java Web开发实践,它结合了Spring框架的依赖注入、Struts2的MVC模式以及JPA(Java Persistence API)的数据持久层处理,来实现数据的创建、读取、...
本文将详细探讨Java中的通用分页实现方法。 首先,我们要理解分页的基本概念。分页主要包括两个关键参数:当前页码(Page Number)和每页显示条数(Page Size)。通过这两个参数,我们可以计算出当前页面应该显示的...