java web页码分页

开始显示的是1,2,3,4,5
第二页就是当我单击2,3的时候显示的还是1,2.3,4,5
单击4的时候显示的则是2,3,4,5,6
5的时候显示的是3,4,5,6,7
6的时候是4,5,6,7,8
package com.kt.servlet_qt;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.kt.bean.Easybuy_Shangpin;
import com.kt.dao.impl.Easybuyimpl;

public class ecommodityservlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		Easybuyimpl e = new Easybuyimpl();
		// 显示多少条数据
		int pagesize = 8;
		// 获取商品总记录数
		int record = e.total();
		// 计算商品有多少页数
		int totalPage = record % pagesize == 0 ? (record / pagesize) : (record
				/ pagesize + 1);
		// 获取多少页
		String curpage = request.getParameter("curpage");
		// 当前页
		int count = -1;
		if (curpage != null) {
			count = Integer.parseInt(curpage);
			// 判断当前页是否小于0
			if (Integer.parseInt(curpage) < 1) {
				count = 1;
			}
			// 判断当前页数是否超出数据现有页数
			if (Integer.parseInt(curpage) >= totalPage) {
				count = totalPage;
			}
		} else {
			count = 1;
		}
		// 分页
		List<Easybuy_Shangpin> findall_ShangpinFenye = e.findall_ShangpinFenye(
				(count - 1) * pagesize, pagesize);
		// 总页数
		request.getSession().setAttribute("totalPage", totalPage);
		// 当前页数
		request.getSession().setAttribute("count", count);
		// 页数的数据
		request.getSession().setAttribute("findall_ShangpinFenye",
				findall_ShangpinFenye);
		request.getRequestDispatcher("product-list.jsp").forward(request,
				response);
		out.flush();
		out.close();
	}

}
<div class="pager">
					<ul class="clearfix">
						<li><a href="ecommodityservlet?curpage=${count-1}">上一页</a></li>
						<c:choose>
							<c:when test="${count<=3 }">
								<c:forEach begin="0" end="4" var="v">
									<c:if test="${count==v+1}">
										<li><a href="ecommodityservlet?curpage=${count-1}"
											style="color: red">${v+1 }</a>
										</li>
									</c:if>
									<c:if test="${count!=v+1}">
										<li><a href="ecommodityservlet?curpage=${v+1}">${v+1
												}</a>
										</li>
									</c:if>
								</c:forEach>
							</c:when>
							<c:when test="${count < totalPage-3 }">
								<c:forEach begin="${count-2 }" end="${count+2 }" var="v">
									<c:if test="${count==v+1 }">
										<li><a href="ecommodityservlet?curpage=${v+1}"
											style="color: red">${v+1 }</a>
										</li>
									</c:if>
									<c:if test="${count!=v+1}">
										<li><a href="ecommodityservlet?curpage=${v+1}">${v+1
												}</a>
										</li>
									</c:if>
								</c:forEach>
							</c:when>
							<c:otherwise>
								<c:forEach begin="${totalPage-5 }" end="${totalPage-1 }" var="v">
									<c:if test="${count==v+1 }">
										<li><a href="ecommodityservlet?curpage=${v+1}"
											style="color: red">${v+1 }</a>
										</li>
									</c:if>
									<c:if test="${count!=v+1 }">
										<li><a href="ecommodityservlet?curpage=${v+1}">${v+1
												}</a>
										</li>
									</c:if>
								</c:forEach>
							</c:otherwise>
						</c:choose>
						<li><a href="ecommodityservlet?curpage=${ count+1}">下一页</a></li>
					</ul>
				</div>
			</div>
		</div>

时间: 2024-10-03 20:54:10

java web页码分页的相关文章

Java Web的分页工具类

最近写一个java web项目,以前分页的工具类,都是基础架构的人写好了的.也没有去细看,现在遇到这个状况. 就整理一下思路,自己写了一个分页的工具类.写的不好之处,还望斧正. 下面是我的代码: PageUtil.java 1 package util; 2 3 import java.util.Map; 4 5 /** 6 * 分页工具类 7 * @author lyh 8 * 9 */ 10 public class PageUtil { 11 private int total; //总数

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

Java Web开发模式

一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技术.但是开发人员又走向了另一个极端就是完全放弃了Servlet. 在JSP页面混合使用HTML标记和java代码编写的脚本元素标记来开发Web程序.采用这种方法虽然可以编写JSP页面变得简单,直观,然而,他只适合于业务流程简单,系统规模较小的应用系统. 如果系统较大的话,就会出现两个严重的缺点: 1

Java Web的数据库操作(一)

一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间假期了一座桥梁. JDBC由一组用Java语言编写的类和接口组成,它对数据库的操作提供了基本方法,但由于数据库种类跟多且多有不同,所以对数据库的细节操作由数据库厂商进行实现,且厂商需要提供数据库的驱动程序,下图为Java程序与数据库相交互的示意图: 2.JDBC连接数据库的过程 l 

一个简单的java web 项目

本文实现一个简单的 java web 项目,包括以下5个功能: 1. 登录 用户默认主页index.jsp , 可选择登录功能,输入用户名和密码,若登录成功,则进入产品管理总页面main.jsp.若不成功仍退回index.jsp 2. 注册 用户默认主页index.jsp ,  可选择注册功能 ,若注册,则进入 register.jsp 3. 管理产品(增加,删除,查看) 登录成功后,进入产品管理总页面main.jsp.第一次进入main.jsp,默认显示所有产品列表.在此页面上更实现 查询某个

Java Web目录

1. Spring持久化 2. Spring核心之IoC——依赖注入 3. Hibernate查询语言 4. Hibernate 实体关联关系映射(转载) 5. 用MyEclipse自动生成hibernate映射文件和实体类 6. Struts2数据验证机制 7. Struts2典型应用 8. Struts2入门 9. Ajax常用实例 10. Ajax技术——与服务器通信 11. JSTL标签库简介 12. 定义和使用EL函数 13. JDBC在Java Web中的应用——分页查询 14. J

[原创]java WEB学习笔记95:Hibernate 目录

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Java web项目的解耦合

以前的项目大多数都是java程序猿又当爹又当妈,又搞前端(ajax/jquery/js/html/css等等),又搞后端(java/mysql/oracle等等). 随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情,正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精. 大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开.你要是这辈子就吃java这碗饭,就不要去研究什么css,js等等. 把

Java标签实现分页

Java实现标签分页 最近为了开发一个网站,里面要用分页功能,但是之前很少自己写分页标签,又不想用现成框架.所以自己参考了些资料,写了个分页例子测试了一下. 代码主要分为三个类: PageTag 分页标签类 Page 分页bean Constant 设置常量 Page代码: Java代码   /** * * @author byyang * */ public class Page { private int current = 0;  //当前页,默认为第一页 private int size