一个实用的JSP分页代码

我遇见了谁男

我遇见了谁男

2016-02-19 11:07

下面图老师小编跟大家分享一个实用的JSP分页代码,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

有热心网友回复:
str += " 转到select name='page' onChange="window.location.href='" + fileName + temp + "cur_page='+this.options[this.selectedIndex].value"";
已经试过了,没问题

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

1.以下是实现分页的类PageResultSet
代码如下:

package page.bean;
import java.util.*;
public class PageResultSet {
/**
* 分页数据
*/
private Collection data = null;
/**
* 当前页
*/
private int curPage;
/**
* 每页显示的记录数
*/
private int pageSize;
/**
* 记录行数
*/
private int rowsCount;
/**
* 页数
*/
private int pageCount;
public PageResultSet(Collection data) {
this.data = data;
this.curPage = 1;
this.pageSize = 10;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
public PageResultSet(Collection data, int curPage) {
this.data = data;
this.curPage = curPage;
this.pageSize = 10;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
public PageResultSet(Collection data, int curPage, int pageSize) {
this.data = data;
this.curPage = curPage;
this.pageSize = pageSize;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
/**
* getCurPage:返回当前的页数
*
* @return int
*/
public int getCurPage() {
return curPage;
}
/**
* getPageSize:返回分页大小
*
* @return int
*/
public int getPageSize() {
return pageSize;
}
/**
* getRowsCount:返回总记录行数
*
* @return int
*/
public int getRowsCount() {
return rowsCount;
}
/**
* getPageCount:返回总页数
*
* @return int
*/
public int getPageCount() {
return pageCount;
}
/**
* 第一页
*
* @return int
*/
public int first() {
return 1;
}
/**
* 最后一页
*
* @return int
*/
public int last() {
return pageCount;
}
/**
* 上一页
*
* @return int
*/
public int previous() {
return (curPage - 1 1) ? 1 : curPage - 1;
}
/**
* 下一页
*
* @return int
*/
public int next() {
return (curPage + 1 pageCount) ? pageCount : curPage + 1;
}
/**
* 第一页
*
* @return boolean
*/
public boolean isFirst() {
return (curPage == 1) ? true : false;
}
/**
* 最后一页
*
* @return boolean
*/
public boolean isLast() {
return (curPage == pageCount) ? true : false;
}
/** * 获取当前页数据
*
* @return Collection
*/
public Collection getData() {
Collection curData = null;
if (data != null) {
int start = (curPage - 1) * pageSize;
int end = 0;
if (start + pageSize rowsCount)
end = rowsCount;
else
end = start + pageSize;
ArrayList arrayCurData = new ArrayList();
ArrayList arrayData = null;
Vector vectorCurData = new Vector();
Vector vectorData = null;
boolean isArray = true;
if (data instanceof ArrayList) {
arrayData = (ArrayList) data;
isArray = true;
} else if (data instanceof Vector) {
vectorData = (Vector) data;
isArray = false;
}
for (int i = start; i end; i++) {
if (isArray) {
arrayCurData.add(arrayData.get(i));
} else {
vectorData.add(vectorData.elementAt(i));
}
}
if (isArray) {
curData = (Collection) arrayCurData;
} else {
curData = (Collection) vectorCurData;
}
}
return curData;
}
/**
* 获取工具条
*
* @return String
*/
public String getToolBar(String fileName) {
String temp = "";
if (fileName.indexOf("?") == -1) {
temp = "?";
} else {
temp = "&";
}
String str = "form method='post' name='frmPage' action='" + fileName + "'";
str += "p align='center'";
if (isFirst())
str += "首页 上一页 ";
else {
str += "a href='" + fileName + temp + "cur_page=1'首页/a ";
str += "a href='" + fileName + temp + "cur_page=" + (curPage - 1) + "'上一页/a ";
}
if (isLast())
str += "下一页 尾页 ";
else {
str += "a href='" + fileName + temp + "cur_page=" + (curPage + 1) + "'下一页/a ";
str += "a href='" + fileName + temp + "cur_page=" + pageCount + "'尾页/a ";
}
str += " 共b" + rowsCount + "/b条记录 ";
str += " 转到select name='page' onChange="location='" + fileName
+ temp + "cur_page='+this.options[this.selectedIndex].value"";
for (int i = 1; i = pageCount; i++) {
if (i == curPage)
str += "option value='" + i + "' selected第" + i + "页/option";
else
str += "option value='" + i + "'第" + i + "页/option";
}
str += "/select/p/form";
return str;
}
}

2.一下是Action
代码如下:

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package struts.action;
import java.util.Collection;
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 page.bean.DatabaseConn;
import page.bean.PageResultSet;
import page.bean.ContactBO;
import struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 04-02-2008
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
* @struts.action-forward name="sss" path="/index.jsp"
*/
public class LoginAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
ContactBO userBO=new ContactBO();
//先从业务处理逻辑类中取出数据(ArrayList或Vector格式)
Collection data;
try {
data = userBO.findContact(DatabaseConn.getConnection());
//再得到当前页curPage和每页记录数pageSize
//int curPage = Integer.parseInt((String)request.getParameter("cur_page"));
int curPage = 1;
String cur = request.getParameter("cur_page");
System.out.println("--------------: "+cur);
if(cur!=null && cur !=""){
curPage = new Integer(cur).intValue();
}
int pageSize=10;
//然后生成PageResultSet对象
PageResultSet dataList = new PageResultSet(data, curPage, pageSize);
request.setAttribute("usersList", dataList);
return mapping.findForward("sss");
} catch (Exception e) {
e.printStackTrace();
return mapping.getInputForward();
}
}
}

3.以下是显示分页的页面
代码如下:

%@ page language="java" import="java.util.*,page.bean.Contact,page.bean.PageResultSet"
pageEncoding="gb2312"%
%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
base href="%=basePath%"
titleMy JSP 'index.jsp' starting page/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
table
%
PageResultSet pageResultSet = (PageResultSet) request.getAttribute("usersList");
ArrayList usersList = (ArrayList) pageResultSet.getData();
for (int i = 0; i usersList.size(); i++) {
Contact co = (Contact) usersList.get(i);
%
tr
td
%=co.getId() %
/td
td
a href="login.do?id=%=co.getId()%"%=co.getUsername()%/a
/td
td
%=co.getMobile() %
/td
td
%=co.getMail() %
/td
td
%=co.getPhone() %
/td
td
%=co.getMem() %
/td
td
%=co.getLastcontact() %
/td
/tr
%
}
%
/table
!-- 显示分页工具栏 --
%=pageResultSet.getToolBar("login.do")%
/body
/html

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

一个实用的JSP分页代码

Web开发
一个实用的JSP分页代码

一个分页代码例子

ASP
一个分页代码例子

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个通用的jsp分页PageBean

Web开发
一个通用的jsp分页PageBean

一个分页存储过程代码

编程语言 网络编程
一个分页存储过程代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个ORACLE分页程序挺实用的.

Web开发
一个ORACLE分页程序挺实用的.

一个ORACLE分页程序 挺实用的.

PHP
一个ORACLE分页程序 挺实用的.

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

解析iOS内存不足时的警告以及处理过程

解析iOS内存不足时的警告以及处理过程

找到一种不错的从SQLServer转成Mysql数据库的方法

找到一种不错的从SQLServer转成Mysql数据库的方法
下拉加载更多内容 ↓