JSP+ORACLE分页的代码记录

本文介绍了一个简单的分页查询实现方案,包括自定义分页查询结果类PagedQueryResult,DAO层实现findBorrowByParameter方法进行分页查询,以及Action层调用该方法并返回分页结果供JSP页面展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bean

public class PagedQueryResult {

	// 查询结果
	private final List results;

	// 结果数量
	private final int count;

	public PagedQueryResult(List results, int count) {
		this.results = results;
		this.count = count;
	}

	public List getResults() {
		return results;
	}

	public int getCount() {
		return count;
	}

}


DaoImp

public PagedQueryResult findBorrowByParameter(int pageNow, int pageSize) {
		PagedQueryResult paged = null;
		String hql = "from ArcLoanApproval where 1 = 1";
		hql += "order by id ";
		
		List<ArcLoanApproval> borrowList = super.findByHql(hql);
		Query query = getSession().createQuery(hql);
		
		query.setFirstResult(pageNow);
		query.setMaxResults(pageSize);
		
		paged = new PagedQueryResult(query.list(), borrowList.size());
		
		return paged;


 

Action

//分页
	public String PagedQueryResultRecord() {
		int pageNow = 1;
		int pageSize = 2;
		
		String pageNow1 = ActionHelper.getRequest().getParameter("pageNow");
		
		if(StringUtils.isNotBlank(pageNow1)) {
			pageNow = Integer.parseInt(pageNow1);
		}
		
		int pageNow0 = (pageNow - 1) * pageSize;
		PagedQueryResult paged = getArcLoanApprovalService().findBorrowByParameter(pageNow0, pageSize);
		
		int count;
		int pageMax;
		count = paged.getCount();
		if(count % pageSize == 0) {
			pageMax = count / pageSize;
		} else {
			pageMax = (int)count / pageSize + 1;
		}
		
		ActionHelper.getRequest().setAttribute("paged", paged);
		ActionHelper.getRequest().setAttribute("pageMax", pageMax);
		ActionHelper.getRequest().setAttribute("pageNow", pageNow);
		return "borrowPaged";


JSP

<div class="manuPage">
					<p class="paging">
						<input type="button" name="firstPage" value="首页" class="manuPageFirst"
								onclick="location.href='/YPreception/managesystem/base/arcapproval.do?method=PagedQueryResultRecord&pageNow=1'" />
						<c:choose>
							<c:when test="${pageNow>1 }">
								<input type="button" name="lastPage" value="<上一页" class="PageUp"
										onclick="location.href='/YPreception/managesystem/base/arcapproval.do?method=PagedQueryResultRecord&pageNow=${pageNow-1}'" />
							</c:when>
							<c:otherwise>
								<input type="button" disabled="true" name="lastPage" value="<上一页" class="PageUpGray"/>
							</c:otherwise>
						</c:choose>	
							  第${pageNow }页   共${pageMax }页             
						<c:choose>
							<c:when test="${pageNow < pageMax}">
								<input type="button" name="lastPage" value="下一页>" class="pagedown"
								onclick="location.href='/YPreception/managesystem/base/arcapproval.do?method=PagedQueryResultRecord&pageNow=${pageNow+1}'" />
							</c:when>
							<c:otherwise>
								<input type="button" disabled="true" name="lastPage" value="下一页>" class="pagedowngray"/><!-- 为了要那个灰掉的button -->
							</c:otherwise>
						</c:choose>
						<input type="button" name="lastPage" value="尾页" class="manuPagetrailer"
						 onclick="location.href='/YPreception/managesystem/base/arcapproval.do?method=PagedQueryResultRecord&pageNow=${pageMax}'" />
					</p>
				</div>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值