Java Web 网络商城案例演示十一(商品分页)

public void setPimage(String pimage) {

this.pimage = pimage;

}

public Date getPdate() {

return pdate;

}

public void setPdate(Date pdate) {

this.pdate = pdate;

}

public String getIs_hot() {

return is_hot;

}

public void setIs_hot(String is_hot) {

this.is_hot = is_hot;

}

public String getPdesc() {

return pdesc;

}

public void setPdesc(String pdesc) {

this.pdesc = pdesc;

}

public int getPflag() {

return pflag;

}

public void setPflag(int pflag) {

this.pflag = pflag;

}

public String getCid() {

return cid;

}

public void setCid(String cid) {

this.cid = cid;

}

public Product() {

// TODO Auto-generated constructor stub

}

public Product(String pid, String pname, double market_price, double shop_price, String pimage, Date pdate,

String is_hot, String pdesc, int pflag, String cid) {

super();

this.pid = pid;

this.pname = pname;

this.market_price = market_price;

this.shop_price = shop_price;

this.pimage = pimage;

this.pdate = pdate;

this.is_hot = is_hot;

this.pdesc = pdesc;

this.pflag = pflag;

this.cid = cid;

}

@Override

public String toString() {

return “Product [pid=” + pid + “, pname=” + pname + “, market_price=” + market_price + “, shop_price=”

  • shop_price + “, pimage=” + pimage + “, pdate=” + pdate + “, is_hot=” + is_hot + “, pdesc=” + pdesc

  • “, pflag=” + pflag + “, cid=” + cid + “]”;

}

}

c3p0链接数据库

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/store_07

root

root

30000

30

10

30

100

10

200

10

1

0

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/store_07

root

root

5

20

10

40

0

5

/**

  • Servlet implementation class ProductServlet

*/

public class ProductServlet extends HttpServlet {

/**

  • @see HttpServlet#HttpServlet()

*/

public ProductServlet() {

super();

// TODO Auto-generated constructor stub

}

/**

  • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

/**

  • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//接收当前页

String num=request.getParameter(“num”);

int curNum=Integer.parseInt(num);

System.out.println(curNum);

ProductService ProductService=new ProductService();

//调用业务层查询当前页功能,返回PageModel对象(1_当前页数据2_分页参数)

PageModel pm=null;

try {

pm = ProductService.findProducts(curNum);

} catch (Exception e) {

e.printStackTrace();

}

//将PageModel对象放入request

request.setAttribute(“page”, pm);

//request.getRequestDispatcher(“/product_list.jsp”).forward(request, response);

request.getRequestDispatcher(“/product_list2.jsp”).forward(request, response);

}

}

public class ProductService {

public PageModel findProducts(int curNum) throws SQLException{

//1_创建PageModel对象 目的:计算分页参数

ProductDao ProductDao=new ProductDao();

int totalRecords=ProductDao.findToralRecords();

PageModel pm=new PageModel(curNum,5,totalRecords);//传入要点击的页数,和每页的页数,和对应总信息的条数

//2_关联数据 select * from product limit ? , ?

List list=ProductDao.findProducts(pm.getStartIndex(),pm.getPageSize());

pm.setList(list);

//3_关联url

pm.setUrl(“ProductServlet”);

return pm;

}

}

public class ProductDao {

//统计表中有多少条数据

public int findToralRecords() throws SQLException {

QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());

Long num=(Long)qr.query(“select count(*) from product”,new ScalarHandler());

return num.intValue();

}

public List findProducts(int startIndex, int pageSize) throws SQLException {

String sql="select * from product limit ? ,? ";

QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());

return qr.query(sql, new BeanListHandler(Product.class),startIndex,pageSize);

}

}

product_list.jsp

<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“utf-8”%>

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

Insert title here
商品名称 市场价格 商场价格 商品图片

<c:if test=“${empty page.list }”>

暂无数据

</c:if>

<c:if test=“${not empty page.list }”>

<c:forEach items=“${page.list}” var=“p”>

${p.pname} ${p.market_price} ${p.shop_price}

</c:forEach>

</c:if>

<%–分页显示的开始 --%>

p a g e . t o t a l P a g e N u m 页 / 第 {page.totalPageNum}页/第 page.totalPageNum/{page.currentPageNum}页

首页

<c:if test=“${page.currentPageNum != 1}”>

上一页

</c:if>

<%-- 获取开始结束页码

${page} *.getAttribute(“page”); 获取到pageModel对象

${page.startPage} 调用PageModel对象getStartPage()方法

–%>

<c:forEach begin=“ p a g e . s t a r t P a g e " e n d = " {page.startPage}" end=" page.startPage"end="{page.endPage}” var=“pagenum”>

<c:if test=“${page.currentPageNum==pagenum}”>

${pagenum}

</c:if>

<c:if test=“${page.currentPageNum!=pagenum}”>

${pagenum}

</c:if>

</c:forEach>

<c:if test=“${page.currentPageNum != page.totalPageNum}”>

下一页

</c:if>

末页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值