`
ootabc
  • 浏览: 109736 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

sturts 分页

阅读更多
display.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:directive.page import="po.Student;"/>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'queryForm.jsp' starting page</title>
  </head>
  
  <body>
   显示结果. <br>
   <table bgcolor="#ff80ff">
   <tr>
   <td>学号</td>
   <td>姓名</td>
   <td>性别</td>
   <td>出生年月</td>
   <td>家庭住址</td>
   </tr>
  <logic:iterate id="stu" name="pc" property="smallList">
   <tr>
   <td><bean:write name="stu" property="stuId"/></td>
   <td><bean:write name="stu" property="stuName"/></td>
   <td><bean:write name="stu" property="stuSex"/></td>
   <td><bean:write name="stu" property="stuBir"/></td>
   <td><bean:write name="stu" property="stuAdd"/></td>
  </tr> 
  </logic:iterate>
   </table>
   <html:link action="/query.do?PageIndex=1">首页</html:link>
   <logic:equal name="pc" property="firstPage" value="false">
     	 <html:link action="/query.do" paramId="PageIndex" paramName="pc" paramProperty="prePageIndex">上一页</html:link>
   </logic:equal>
   <logic:equal name="pc" property="lastPage" value="false">
   		<html:link action="/query.do" paramId="PageIndex" paramName="pc" paramProperty="nextPageIndex">下一页</html:link>
   </logic:equal>
   <html:link action="/query.do" paramId="PageIndex" paramName="pc" paramProperty="pageCount">尾页</html:link>
  </body>
</html>



PageController.java
package prj13_1;

import java.util.ArrayList;

//负责传入一个大的集合,根据页号返回所需要的数据
/*
 * 页数=  
		记录条数%每页条数==0     记录条数/每页条数
		否则          记录条数/每页条数+1
		第N页显示第几条记录(记录从0开始算)? (N-1)*每页条数=<序号< N*每页条数
 * */
public class PageController {
	private ArrayList bigList;			//大的集合,外界传入
	private int curentPageIndex = 1;	//当前页号,外界传入
	private int countPerpage 	= 5;	//每页条数,外界可以设定
	private ArrayList smallList;		//小的集合,返回
	private int pageCount;				//页数
	private int recordCount;			//记录条数
	private int prePageIndex;			//上一页序号
	private int nextPageIndex;			//下一页序号
	private boolean firstPage;			//是否第一页
	private boolean lastPage;			//是否最后一页
	
	public void setCurentPageIndex(int curentPageIndex) {	//每当页数改变,都会调用这个函数,筛选代码可以写在这里		
		this.curentPageIndex = curentPageIndex;
		
		//上一页,下一页确定
		prePageIndex = curentPageIndex - 1;
		nextPageIndex = curentPageIndex + 1;
		//是否第一页,最后一页
		if(curentPageIndex==1){
			firstPage = true;
		}
		else{
			firstPage = false;
		}
		if(curentPageIndex==pageCount){
			lastPage = true;
		}
		else{
			lastPage = false;
		}
		//筛选工作
		smallList = new ArrayList();
		for(int i=(curentPageIndex-1)*countPerpage; i<curentPageIndex*countPerpage&&i<recordCount; i++){
			smallList.add(bigList.get(i));
		}	
	}
	public int getCurentPageIndex() {
		return curentPageIndex;
	}
	public ArrayList getBigList() {
		return bigList;
	}
	public void setBigList(ArrayList bigList) {
		this.bigList = bigList;
		//计算条数
		recordCount = bigList.size();
		//计算页数
		if(recordCount%countPerpage==0){
			pageCount = recordCount/countPerpage;
		}
		else{
			pageCount = recordCount/countPerpage + 1;
		}
		
	}
	public int getCountPerpage() {
		return countPerpage;
	}
	public void setCountPerpage(int countPerpage) {
		this.countPerpage = countPerpage;
	}
	public ArrayList getSmallList() {
		return smallList;
	}
	public void setSmallList(ArrayList smallList) {
		this.smallList = smallList;
	}
	public int getPageCount() {
		return pageCount;
	}
	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}
	public int getRecordCount() {
		return recordCount;
	}
	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}
	public int getNextPageIndex() {
		return nextPageIndex;
	}
	public void setNextPageIndex(int nextPageIndex) {
		this.nextPageIndex = nextPageIndex;
	}
	public int getPrePageIndex() {
		return prePageIndex;
	}
	public void setPrePageIndex(int prePageIndex) {
		this.prePageIndex = prePageIndex;
	}
	public boolean isFirstPage() {
		return firstPage;
	}
	public void setFirstPage(boolean firstPage) {
		this.firstPage = firstPage;
	}
	public boolean isLastPage() {
		return lastPage;
	}
	public void setLastPage(boolean lastPage) {
		this.lastPage = lastPage;
	}
	

}


QueryAction.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package prj13_1.action;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import prj13_1.PageController;
import dao.StudentDao;

public class QueryAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {

		String str = request.getParameter("PageIndex");
		if(str==null)	{
			str = "1";
		}
		int currentPageIndex = Integer.parseInt(str);		
		
		PageController pc = (PageController)request.getAttribute("pc");
		if(pc==null){
			pc = new PageController();
			StudentDao studentDao = new StudentDao();
			ArrayList stus = studentDao.queryStu();	
			pc.setBigList(stus);
			request.setAttribute("pc", pc);			
		}
		
		pc.setCurentPageIndex(currentPageIndex);
		
		
		return new ActionForward("/display.jsp");
	}
}
分享到:
评论

相关推荐

    Struts分页.Struts分页.

    总的来说,Struts分页的优势在于其模块化的设计,通过ActionForm、Action、标签库和拦截器等组件,能够将分页逻辑从业务逻辑中解耦,使代码更易于维护和扩展。同时,其提供的各种功能,如国际化、主题支持和性能优化...

    struts分页struts分页

    struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页

    一个高效简洁的Struts分页方法

    下面将详细解释如何在一个高效简洁的方式下实现Struts分页。 首先,我们需要理解分页的基本原理。分页通常是通过在数据库中限制查询结果的数量,每次只加载一定数量的数据(称为一页),然后根据用户的交互(如点击...

    struts分页实例

    struts分页实例

    jsp +struts 分页经典

    本项目名为“jsp +struts 分页经典”,显然是一个利用这两种技术实现的分页展示数据的案例。下面我们将深入探讨JSP和Struts框架,以及它们在分页、查询和数据操作中的应用。 首先,JSP是Java平台上的动态网页技术,...

    struts分页.rar

    Struts分页是Java Web开发中的一个重要概念,主要用于在用户界面上展示大量数据时进行有效管理,提升用户体验。Struts框架,由Apache软件基金会开发,是一个用于构建MVC(Model-View-Controller)架构的开源Java框架...

    struts分页源代码

    Struts分页是Java Web开发中的一个重要概念,它在处理大量数据展示时尤为关键,能够有效地提高用户体验。Struts框架,作为一个MVC(Model-View-Controller)模型的开源Java库,提供了对分页功能的良好支持。在这个...

    java web中的struts分页组件

    本代码示例专注于Struts中如何实现分页功能。 首先,我们需要了解分页的基本概念。分页是将大量数据分为多个较小的、易于管理的部分,每次只加载一部分数据到客户端。这通常通过两个主要部分实现:前端(用户界面)...

    struts分页,数据查询资料

    这个“struts分页,数据查询资料”可能包含了如何在Struts框架下实现高效、灵活的分页查询方法。 首先,Struts框架的核心是Action类,它是业务逻辑和视图之间的桥梁。在实现分页功能时,我们需要创建一个Action类,...

    分页大全(含JDBC分页 struts分页)

    这里我们将深入探讨“分页大全”,包括JDBC分页、Struts分页以及分页标签的使用。 首先,让我们了解什么是分页。在网页或应用中,分页是指将大量数据分割成若干小部分,每次只加载一部分,用户可以逐页浏览,而不是...

    Struts分页演示工程(一次性读取后台分页,而非数据库分页)

    一、此演示使MS Sql Server 2000默认安装的的数据库northwind,使用CUSTOMERS表中的数据做为演示,不用自已到处找表或自已建表 二、此Struts分页是一次性读取本次分页的数据,翻页时不用再读数据库中的数据。...

    ajax+struts分页

    在Ajax+Struts分页中,主要涉及以下几个步骤: 1. **前端页面**:使用JavaScript和HTML构建用户界面。当用户点击分页链接时,会触发Ajax请求,而不是传统的页面跳转。 2. **Ajax请求**:通常使用JavaScript库如...

    Struts分页

    Struts分页是一种在Web应用中实现数据展示的高效方式,尤其当数据量较大时,分页能够提高用户体验,避免一次性加载过多数据导致页面响应慢。Struts是Apache的一个开源框架,它主要用于构建基于Java EE的Web应用。...

    struts分页算法的实现

    Struts分页算法是Java Web开发中常用的一种技术,它主要用于处理大数据集合的展示,提高网页的加载速度和用户体验。在Struts框架下,我们通常会结合Servlet、JSP和数据库查询来实现分页功能。以下将详细讲解Struts...

    Struts分页显示源码实例

    ### Struts分页显示源码实例解析 #### 一、背景介绍 在Web应用开发中,特别是使用MVC架构的框架如Struts时,分页显示是常见的需求之一。分页不仅能提高用户体验,还能减轻服务器压力。本文档将详细介绍如何在...

    Hibernate+Struts分页的实现

    "Hibernate+Struts分页的实现"这个话题关注的就是如何在大型数据集的场景下,结合这两种技术来有效地实施分页策略。 首先,让我们了解一下Struts框架。Struts是一个基于MVC(Model-View-Controller)设计模式的Java...

    高效struts分页算法

    Struts分页算法是Web应用开发中的重要组成部分,特别是在大型数据集展示时,为了提高用户体验,需要将数据分页展示。本算法遵循Model-View-Controller(MVC)设计模式,使得代码结构清晰,易于维护。 在Struts框架...

    纯struts分页小例子

    在这个“纯struts分页小例子”中,我们将探讨如何在Struts框架下实现分页功能,这在处理大量数据展示时非常常见。 分页功能能够有效地提高用户体验,避免一次性加载过多数据导致页面响应慢或内存压力大。在Struts...

    JSP JDBC WEB STRUTS 分页综合实例8

    综上所述,"JSP JDBC WEB STRUTS 分页综合实例8"是一个结合了Java Web开发多个关键技术的项目,它利用JSP展示分页数据,通过JDBC与数据库交互获取数据,Struts框架负责请求处理和业务逻辑,而分页机制则优化了数据...

Global site tag (gtag.js) - Google Analytics