JSP分页

PageModel.java:

package org.sugite.util;

import java.util.List;

import org.sugite.sysmgr.User;

public class PageModel {
	// 总记录数
	private int totalRecord;
	// 结果集
	private List<User> list;
	// 第几页
	private int pageNo;
	// 每页多少条数据
	private int pageSize;

	public int getTotalRecord() {
		return this.totalRecord;
	}

	public void setTotalRecord(int totalRecord) {
		this.totalRecord = totalRecord;
	}

	public List<User> getList() {
		return this.list;
	}

	public void setList(List<User> list) {
		this.list = list;
	}

	public int getPageNo() {
		return pageNo;
	}

	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotalPages() {
		return (totalRecord + pageSize - 1) / pageSize;
	}

	public int getTopPageNo() {
		return 1;
	}

	public int getPreviousPageNo() {
		if (pageNo == 1) {
			return 1;
		}
		return pageNo - 1;
	}

	public int getNextPageNo() {
		if (pageNo == getBottomPageNo()) {
			return getBottomPageNo();
		}
		return pageNo + 1;
	}

	public int getBottomPageNo() {
		return getTotalPages();
	}
}

UserManager.java中的部分代码

public PageModel findAllUser(int pageNo, int pageSize) {
		String sql = "select * from t_user where user_id <> 'root' order by user_id "
				+ "limit " + (pageNo - 1) * pageSize + ", " + pageSize;
		// System.out.println("sql=" + sql);
		PageModel pageModel = null;
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			conn = DB.getConn();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			List<User> userList = new ArrayList<User>();
			while (rs.next()) {
				User user = new User();
				user.setUserId(rs.getString("user_id"));
				user.setUserName(rs.getString("user_name"));
				user.setPassword(rs.getString("password"));
				user.setContactTel(rs.getString("contact_tel"));
				user.setEmail(rs.getString("email"));
				user.setCreateDate(rs.getTimestamp("create_date"));
				userList.add(user);
			}
			// 取得所有记录
			int totalRecords = getTotalRecords(conn);
			pageModel = new PageModel();
			pageModel.setList(userList);
			pageModel.setTotalRecord(totalRecords);
			pageModel.setPageNo(pageNo);
			pageModel.setPageSize(pageSize);
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			DB.close(rs);
			DB.close(stmt);
			DB.close(conn);
		}
		return pageModel;
	}

	/*
	 * 取得所有记录
	 */
	private int getTotalRecords(Connection conn) {
		String sql = "select count(*) from t_user where user_id <> 'root'";
		// System.out.println("sql=" + sql);
		int totalRecords = 0;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			conn = DB.getConn();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			if (rs.next()) {
				totalRecords = rs.getInt(1);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			DB.close(rs);
			DB.close(stmt);
			DB.close(conn);
		}
		return totalRecords;
	}

jsp代码:

[...]
<%@ page import="org.sugite.sysmgr.*" %>
<%@ page import="org.sugite.util.*" %>
<%
	
	int pageNo = 1;
	int pageSize = 3;
	String pageNoStr = request.getParameter("pageNo");
	if (pageNoStr != null) {
		pageNo = Integer.parseInt(pageNoStr);
	}	
		
	PageModel pageModel = UserManager.getInstance().findAllUser(pageNo, pageSize);
%>
[...]
<script type="text/javascript">
	function topPage() {
		window.self.location = "user_maint.jsp?pageNo=<%=pageModel.getTopPageNo()%>";
	}
	
	function previousPage() {
		window.self.location = "user_maint.jsp?pageNo=<%=pageModel.getPreviousPageNo()%>"
	}	
	
	function nextPage() {
		window.self.location = "user_maint.jsp?pageNo=<%=pageModel.getNextPageNo()%>";
	}
	
	function bottomPage() {
		window.self.location = "user_maint.jsp?pageNo=<%=pageModel.getBottomPageNo()%>";
	}
</script>

[...]

				<%
					List userList = pageModel.getList();
					for(Iterator iter = userList.iterator();iter.hasNext();) {
						User user = (User)iter.next();
				%>
				<tr>
					<td>
						<input type="checkbox" name="selectFlag" class="checkbox1"
							value="<%=user.getUserId() %>">
					</td>
					<td>
						<%=user.getUserId() %>
					</td>
					<td>
						<%=user.getUserName() %>
					</td>
					<td>
						<%=user.getContactTel() %>
					</td>
					<td>
						<%=user.getEmail() %>
					</td>
					<td>
						<%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateDate()) %>
					</td>
				</tr>
				<%
					}
				%>

[...]

		<div align="left">
			<font color="#FFFFFF"> 共 <%=pageModel.getTotalPages() %> 页</font>     
			<font color="#FFFFFF">当前第</font> 
			<font color="#FF0000"><%=pageModel.getPageNo() %></font> 
			<font color="#FFFFFF">页</font>
		</div>

[...]

		<input name="btnTopPage"  type="button"
			id="btnTopPage" value="|<< " title="首页"
			onClick="topPage()">
		<input name="btnPreviousPage" type="button"
			id="btnPreviousPage" value=" <  " title="上页"
			onClick="previousPage()">
		<input name="btnNextPage" type="button"
			id="btnNextPage" value="  > " title="下页" onClick="nextPage()">
		<input name="btnBottomPage" type="button"
			id="btnBottomPage" value=" >>|" title="尾页"
			onClick="bottomPage()">



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值