<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%
/*接收分页参数*/
int _totalPageNum = Integer.parseInt(request.getParameter("totalPageNum"));
int _currentPageNo = Integer.parseInt(request.getParameter("currentPageNo"));
String _pageName = request.getParameter("pageName");
int _maxShowNums = Integer.parseInt(request.getParameter("maxShowNums"));
/*分页核心逻辑*/
int _pageStartNo = 1;//首页
int _pageEndNo = _totalPageNum;//末页
int _prePageNo = _currentPageNo - 1;//上一页
int _nextPageNo = _currentPageNo + 1;//下一页
int _thisPageStartNo;//实际首页
int _thisPageEndNo;//实际末页
if(_currentPageNo == _pageStartNo){
_prePageNo = _pageStartNo;
}
if(_currentPageNo == _pageEndNo){
_nextPageNo = _pageEndNo;
}
if(_totalPageNum < _maxShowNums){
_thisPageStartNo = _pageStartNo;
_thisPageEndNo = _totalPageNum;
}else{
if(_maxShowNums%2 == 0){
if(_currentPageNo < (_maxShowNums/2 + 1)){
_thisPageStartNo = _pageStartNo;
_thisPageEndNo = _maxShowNums;
}else if(_currentPageNo > (_totalPageNum - (_maxShowNums/2 - 1))){
_thisPageStartNo = _totalPageNum - (_maxShowNums-1);
_thisPageEndNo = _totalPageNum;
}else{
_thisPageStartNo = _currentPageNo - _maxShowNums/2;
_thisPageEndNo = _currentPageNo + (_maxShowNums/2 - 1);
}
}else{
if(_currentPageNo < (_maxShowNums/2 + 1)){
_thisPageStartNo = _pageStartNo;
_thisPageEndNo = _maxShowNums;
}else if(_currentPageNo > (_totalPageNum - _maxShowNums/2)){
_thisPageStartNo = _totalPageNum - (_maxShowNums-1);
_thisPageEndNo = _totalPageNum;
}else{
_thisPageStartNo = _currentPageNo - _maxShowNums/2;
_thisPageEndNo = _currentPageNo + _maxShowNums/2;
}
}
}
%>
<a href="<%=_pageName%>?pageNum=1" target ="_self">首页</a>
<a href="<%=_pageName%>?pageNum=<%=_prePageNo%>" target ="_self">上一页</a>
<%
for(int i = _thisPageStartNo;i <= _thisPageEndNo;i++){
if(i == _currentPageNo){
%>
<span><%=i%></span>
<%
}else{
%>
<a href="<%=_pageName%>?pageNum=<%=i%>" target="_self"><%=i%></a>
<%
}
}
%>
<a href="<%=_pageName%>?pageNum=<%=_nextPageNo%>" target ="_self">下一页</a>
<a href="<%=_pageName%>?pageNum=<%=_totalPageNum%>" target ="_self">末页</a>
<span>共 <%=_totalPageNum%> 页</span>
<span>跳转至</span>
<input type="text" id="pageNum" maxlength="5" style="width:30px;text-align:center;"/>
<span style="padding-right:5px;">页</span>
<a href="javascript:forwardPageTo($('#pageNum').val());" target="_self">确定</a>