基于Liferay的分页

  1. 当前页 cur
  2. 最大页 maxPage
  3. 存放页面显示的页数 pages
<!-- 计算界面显示的页数 -->
<%		
				int cur= 1;
				if (null != request.getAttribute("currentPage")) {
				    cur= (int) request.getAttribute("currentPage");
				} else {
					if (null != renderRequest.getPortletSession().getAttribute("currentPage")) {
					    cur= (int) renderRequest.getPortletSession().getAttribute("currentPage");
					}
				}
				
		   		int maxPage = 0;
		    	List<Integer> pages = new ArrayList<Integer>();
				maxPage = count / pageCount;
				if (count % pageCount != 0) {
				    maxPage++;
				}

				int start = cur - 2;
				if (start <= 0) {
				    start += -start + 1;
				}
				int end = start + 3;
				for (int i = start; i <= end; i++) {
				    if (i <= maxPage) {
					pages.add(i);
				    }
				}
%>
<!-- 这边存放当前页到后台 -->
<aui:form name="submitForm" action="${sendURL}">
			<aui:input type="hidden" name="currentPage" id="currentPage"
				value="${currentPage}" />
</aui:form>
<!-- 页面显示多页 -->
 <nav>
				<div class="paginates">
					<ul class="pagination">
						<c:if test="<%=cur != 0%>">
							<c:if test="<%=cur > 1%>">
								<li class="page-item"><a
									href="javascript:gotoPage(<%=cur - 1%>)" class="page-link">&lt;</a></li>
							</c:if>
							<c:forEach items="<%=pages%>" var="page">
								<c:if test="${cur eq page}">
	      			${page}
	      		</c:if>
								<c:if test="${cur ne page}">
									<li class="page-item"><a
										href="javascript:gotoPage(${page})" class="page-link">${page}</a></li>
								</c:if>
							</c:forEach>
							<c:if test="<%=cur < maxPage%>">
								<li class="page-item"><a
									href="javascript:gotoPage(<%=cur + 1%>)" class="page-link">&gt;</a></li>
							</c:if>
						</c:if>
					</ul>
				</div>
			</nav> 
<!-- Js方法-->
function gotoPage(pageId) {
	$("#<portlet:namespace />currentPage").val(pageId);
	$("#<portlet:namespace/>submitForm").submit();
}
  1. 后台部分
    获取前端传递来的当前页
int currentPage = 1;
	    if (!"".equals(ParamUtil.getString(renderRequest, CURRENTPAGE))) {
		currentPage = Integer.parseInt(ParamUtil.getString(renderRequest, CURRENTPAGE));
	    } else {
		if (null != session.getAttribute(CURRENTPAGE)) {
		    currentPage = (int) session.getAttribute(CURRENTPAGE);
		}
 }

由此可获得起始页startPage
一页显示几条由自己定义一个常量 showCount

int startPage = (currentPage -1) * showCount;
int endCount = currentPage * pageCount;

调用分页方法,即可完成显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值