///////////////////分页的辅助类util///////////////////////
package com.svse.util;
import java.util.ArrayList;
import java.util.List;
public class Page {
private int totalpage;// 总页数
private int totalcount;// 集合总行数
private int linesize;// 每页显示的条数
private int currentpage;// 当前页
// 获取显示该页显示的信息
public List getList(List findlist) {
List list = new ArrayList();
// 获取显示页的开始条数(当前页-1乘以每页显示条数)
int start = (this.getCurrentpage() - 1) * this.getLinesize();
// 获取显示页的结束条数,有两种情况
int end1 = this.getCurrentpage() * this.getLinesize();// 刚好整除
int end2 = (this.getCurrentpage() - 1) * this.getLinesize()
+ this.getTotalcount() % this.getLinesize();
// 判断当前页是第一页或是最后一页
if (this.getCurrentpage() == this.getTotalpage()
&& this.getTotalcount() % this.getLinesize() != 0) {
for (int i = start; i < end2; i++) {
list.add(findlist.get(i));
}
}
else
{
for (int i = start; i < end1; i++) {
list.add(findlist.get(i));
}
}
return list;
}
public Page() {
// TODO Auto-generated constructor stub
}
public Page(int currentpage, int linesize, int totalcount, int totalpage) {
super();
this.currentpage = currentpage;
this.linesize = linesize;
this.totalcount = totalcount;
this.totalpage = totalpage;
}
public int getTotalpage() {
return totalpage;
}
public void setTotalpage() {
// 设置总页数
if (this.getTotalcount() % this.getLinesize() == 0)// 总行数和每页数刚好整除
{
this.totalpage = this.getTotalcount() / this.getLinesize();
} else// 总行数和每页数不能被整除
{
this.totalpage = this.getTotalcount() / this.getLinesize() + 1;
}
}
public int getTotalcount() {
return totalcount;
}
public void setTotalcount(int totalcount) {
this.totalcount = totalcount;
}
public int getLinesize() {
return linesize;
}
public void setLinesize(int linesize) {
this.linesize = linesize;
}
public int getCurrentpage() {
return currentpage;
}
public void setCurrentpage(int currentpage) {
this.currentpage = currentpage;
}
}
////////////////////////实体类entity/////////////////////////////
package com.svse.entity;
public class User {
private String userid;
private String username;
private String useraddr;
public User() {
// TODO Auto-generated constructor stub
}
public User(String userid, String username, String useraddr) {
super();
this.useraddr = useraddr;
this.userid = userid;
this.username = username;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUseraddr() {
return useraddr;
}
public void setUseraddr(String useraddr) {
this.useraddr = useraddr;
}
}
/////////////////////////////数据层dao//////////////////////////////
package com.svse.dao;
import java.util.ArrayList;
import java.util.List;
import com.svse.entity.User;
public class UserDao {
//获取所有的User信息
public List finduserlist()
{
List userlist=new ArrayList();
userlist.add(new User("101","张三","湖北武汉"));
userlist.add(new User("102","李四","湖北黄冈"));
userlist.add(new User("103","王五","湖北襄樊"));
userlist.add(new User("104","赵六","湖北十堰"));
userlist.add(new User("105","许毅","湖北荆州"));
userlist.add(new User("106","风影","湖北黄石"));
userlist.add(new User("107","绝影","湖北孝感"));
userlist.add(new User("108","骄阳","湖北恩施"));
userlist.add(new User("109","佳倩","湖北宜昌"));
userlist.add(new User("110","默函","湖北咸宁"));
userlist.add(new User("111","谭斌","湖北沙市"));
userlist.add(new User("112","段强","湖北江宁"));
return userlist;
}
}
//////////////////////////////Action///////////////////////////
package com.svse.struts;
import java.util.List;
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 com.svse.dao.UserDao;
import com.svse.util.Page;
public class UserAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Page page=new Page();
UserDao udao=new UserDao();
List findlist=udao.finduserlist();//获取所有user的集合
//给page对象设值
page.setTotalcount(findlist.size());//总行数
page.setLinesize(3);//每页显示几条
page.setTotalpage();//总页数
//判断是第一次反问还是点击访问
int currentpage=0;
if(request.getParameter("pag")==null)
{
currentpage=1;
}
else
{
currentpage=Integer.parseInt(request.getParameter("pag"));
if(currentpage<1)
{
currentpage=1;//首页
}
if(currentpage>page.getTotalpage())
{
currentpage=page.getTotalpage();//末页
}
}
page.setCurrentpage(currentpage);//设置当前页 数
List userlist=page.getList(findlist);
request.setAttribute("userlist", userlist);
request.setAttribute("page", page);
return mapping.findForward("show");
}
}
////////////////////////////JSP显示页面/////////////////////////////
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ 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"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>userlist.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<table align="center" border="1" width="60%">
<tr>
<td>
编号
</td>
<td>
姓名
</td>
<td>
地址
</td>
</tr>
<logic:iterate id="user" name="userlist">
<tr>
<td>${user.userid }</td>
<td>${user.username }</td>
<td>${user.useraddr }</td>
</tr>
</logic:iterate>
</table>
<a href="user.do?pag=1">首页</a>
<a href="user.do?pag=${page.currentpage-1 }">上一页</a>
<a href="user.do?pag=${page.currentpage+1 }">下一页</a>
<a href="user.do?pag=${page.totalpage}">末页</a>
<br>
当前是第【${page.currentpage}】------总共:【${page.totalpage}】
</center>
</body>
</html:html>
分享到:
相关推荐
下面将详细解释如何在一个高效简洁的方式下实现Struts分页。 首先,我们需要理解分页的基本原理。分页通常是通过在数据库中限制查询结果的数量,每次只加载一定数量的数据(称为一页),然后根据用户的交互(如点击...
总的来说,Struts分页的优势在于其模块化的设计,通过ActionForm、Action、标签库和拦截器等组件,能够将分页逻辑从业务逻辑中解耦,使代码更易于维护和扩展。同时,其提供的各种功能,如国际化、主题支持和性能优化...
struts分页实例
本项目名为“jsp +struts 分页经典”,显然是一个利用这两种技术实现的分页展示数据的案例。下面我们将深入探讨JSP和Struts框架,以及它们在分页、查询和数据操作中的应用。 首先,JSP是Java平台上的动态网页技术,...
struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页struts分页
Struts分页是Java Web开发中的一个重要概念,主要用于在用户界面上展示大量数据时进行有效管理,提升用户体验。Struts框架,由Apache软件基金会开发,是一个用于构建MVC(Model-View-Controller)架构的开源Java框架...
Struts分页是Java Web开发中的一个重要概念,它在处理大量数据展示时尤为关键,能够有效地提高用户体验。Struts框架,作为一个MVC(Model-View-Controller)模型的开源Java库,提供了对分页功能的良好支持。在这个...
本代码示例专注于Struts中如何实现分页功能。 首先,我们需要了解分页的基本概念。分页是将大量数据分为多个较小的、易于管理的部分,每次只加载一部分数据到客户端。这通常通过两个主要部分实现:前端(用户界面)...
这个“struts分页,数据查询资料”可能包含了如何在Struts框架下实现高效、灵活的分页查询方法。 首先,Struts框架的核心是Action类,它是业务逻辑和视图之间的桥梁。在实现分页功能时,我们需要创建一个Action类,...
这里我们将深入探讨“分页大全”,包括JDBC分页、Struts分页以及分页标签的使用。 首先,让我们了解什么是分页。在网页或应用中,分页是指将大量数据分割成若干小部分,每次只加载一部分,用户可以逐页浏览,而不是...
一、此演示使MS Sql Server 2000默认安装的的数据库northwind,使用CUSTOMERS表中的数据做为演示,不用自已到处找表或自已建表 二、此Struts分页是一次性读取本次分页的数据,翻页时不用再读数据库中的数据。...
在Ajax+Struts分页中,主要涉及以下几个步骤: 1. **前端页面**:使用JavaScript和HTML构建用户界面。当用户点击分页链接时,会触发Ajax请求,而不是传统的页面跳转。 2. **Ajax请求**:通常使用JavaScript库如...
Struts分页算法是Java Web开发中常用的一种技术,它主要用于处理大数据集合的展示,提高网页的加载速度和用户体验。在Struts框架下,我们通常会结合Servlet、JSP和数据库查询来实现分页功能。以下将详细讲解Struts...
### Struts分页显示源码实例解析 #### 一、背景介绍 在Web应用开发中,特别是使用MVC架构的框架如Struts时,分页显示是常见的需求之一。分页不仅能提高用户体验,还能减轻服务器压力。本文档将详细介绍如何在...
"Hibernate+Struts分页的实现"这个话题关注的就是如何在大型数据集的场景下,结合这两种技术来有效地实施分页策略。 首先,让我们了解一下Struts框架。Struts是一个基于MVC(Model-View-Controller)设计模式的Java...
Struts分页算法是Web应用开发中的重要组成部分,特别是在大型数据集展示时,为了提高用户体验,需要将数据分页展示。本算法遵循Model-View-Controller(MVC)设计模式,使得代码结构清晰,易于维护。 在Struts框架...
在这个“纯struts分页小例子”中,我们将探讨如何在Struts框架下实现分页功能,这在处理大量数据展示时非常常见。 分页功能能够有效地提高用户体验,避免一次性加载过多数据导致页面响应慢或内存压力大。在Struts...
综上所述,"JSP JDBC WEB STRUTS 分页综合实例8"是一个结合了Java Web开发多个关键技术的项目,它利用JSP展示分页数据,通过JDBC与数据库交互获取数据,Struts框架负责请求处理和业务逻辑,而分页机制则优化了数据...