请问带有数字页码的分页有关问题
请教带有数字页码的分页问题
页码结果是:
在第一页时显示:[1][2]
点击第2页时显示[1][2][3]
点击第3页时显示[1][2][3][4]
点击第4页时显示[2][3][4][5]
以后都显示4个页码了。感觉有点怪怪的,能不能固定显示4页码?显示不完时最好带有省略号?谢谢!!
------解决思路----------------------
网上找,好多这方面的资料
------解决思路----------------------
你这个最好自己写一个分页辅助类。然后页面传参数就好了。你在页面判断超过多少显示多少页。其余用。。。表示
<%
int pagesize = 5;//每页显示记录数
int liststep = 4;//最多显示分页页数
int pages = 1;//默认显示第一页
if (request.getParameter("pages") != null) {
pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量
}
int count = PageDao.getmaxpagecount();//假设取出记录总数
int pagescount = (int) Math.ceil((double) count / pagesize);//
if (pagescount < pages) {
pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数
}
if (pages < 1) {
pages = 1;//如果分页变量小于1,则将分页变量设为1
}
int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息
if (listbegin < 1) { //当前页-(总显示的页列表数/2)
listbegin = 1;
}
int listend = pages + liststep / 2;//分页信息显示到第几页//当前页+(总显示的页列表数/2)
if (listend > pagescount) {
listend = pagescount + 1;
}
%>
<table align="center">
<tr>
<th>图书编号 </th>
<th> 图书名称 </th>
<th> 出版社 </th>
<th>作者</th>
<th> 价格 </th>
</tr>
<%
List<Book> list = PageDao.getAllPageInfo(pages);
Iterator<Book> it = list.iterator();
while (it.hasNext()) {
Book b = it.next();
%>
<td><%=b.getId()%></td>
<td><%=b.getBookname()%></td>
<td><%=b.getBookpublish()%></td>
<td><%=b.getBookauthor()%></td>
<td><%=b.getBookprice()%></td>
<%
out.println("<tr>");
}
%>
</table>
<table align="center">
<tr>
<%
//<显示分页信息
//<显示上一页
if (pages > 1) {
out.println("<td><a href=?pages=" + (pages - 1)+ ">上一页</a></td>");}//>显示上一页
//<显示分页码
for (int i = listbegin; i < listend; i++) {
if (i != pages) {//如果i不等于当前页
out.println("<td><a href=?pages=" + i + ">[" + i
+ "]</a></td>");
} else {
out.println("<td>[" + i + "]</td>");
}
}//显示分页码>
//<显示下一页
if (pages != pagescount) {
out.println("<td><a href=?pages=" + (pages + 1) + ">下一页</a></td>");
}//>显示下一页
//>显示分页信息
%>
</tr>
</table>
页码结果是:
在第一页时显示:[1][2]
点击第2页时显示[1][2][3]
点击第3页时显示[1][2][3][4]
点击第4页时显示[2][3][4][5]
以后都显示4个页码了。感觉有点怪怪的,能不能固定显示4页码?显示不完时最好带有省略号?谢谢!!
------解决思路----------------------
网上找,好多这方面的资料
------解决思路----------------------
你这个最好自己写一个分页辅助类。然后页面传参数就好了。你在页面判断超过多少显示多少页。其余用。。。表示