分页
1、效果图
2、代码实现:
(1)、jsp部分的代码
<div class="shangpin">
<div class="sp">
<ul class="sp1">
<%!
int all_page;
int now_page;
int up_page;
int down_page;
int every_page=2;
%>
<%
CartDAO cd=new CartDAO();
ArrayList<GoodsVo> listgv=new ArrayList<GoodsVo>();
listgv=cd.select1();
//用商品的个数 求出总页数
all_page=(listgv.size()+every_page-1)/every_page;
//如果长度为0 则说明数据库中没有数据
if(listgv.size()==0)
{
out.print("没东西了");
}
else{
//如果有数据 则设置当前页数
String now_page1= request.getParameter("now_page");
if(now_page1!=null){
//转型
now_page=Integer.parseInt(now_page1);
}else{
//如果bu 则设置当前页数为1
now_page=1;
}
//设置上一页
if(now_page==1){
//如果当前页数为1 则上一页为1
up_page=now_page;
}else{
//如果当前页数不为1 则上一页为 当前页数-1
up_page=now_page-1;
}//设置下一页
if(now_page==all_page){
//如果当前页 等于 最后一页 则下一页等于 当最后一页
down_page=all_page;
}else{
//如果不是最后一页 则下一页等于 当前页+1
down_page=now_page+1;
}
//查询商品表中的商品信息
ArrayList<GoodsVo> listgv1=new ArrayList<GoodsVo>();
listgv1=cd.select1((now_page-1)*every_page,every_page);
for(GoodsVo gv :listgv1){
%>
<li class="sp1_1">
<div class="sp_1">
<a href="close/close1.jsp" >
<img src="<%=gv.getPicture() %>" class="close1">
<span class="close_font"><%=gv.getName()%>
</span>
<span class="close_font1"><%=gv.getPrice() %></span>
</a>
</div>
<% }
%>
</ul>
<div class="fenye">
<caption>
<label class="ffont"> 总页数:<%= all_page%>
</label>
<a href="close.jsp?now_page=<%= up_page%>" class="f_a"> 上一页</a>
<label class="ffont"> 当前页:<%=now_page %>
</label>
<a href="close.jsp?now_page=<%= down_page%>" class="f_a"> 下一页</a>
</caption>
</div>
<% }%>
</div>
</div>
(2)、DAO部分 的代码
//查询所有商品的信息
public ArrayList<GoodsVo> select1(){
ArrayList<GoodsVo> listgv=new ArrayList<GoodsVo>();
String sql="select * from goods ";
try {
pst=con.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
GoodsVo gv=new GoodsVo();
gv.setId(rs.getInt("ID"));
gv.setName(rs.getString("name"));
gv.setPicture(rs.getString("picture"));
gv.setPrice(rs.getDouble("price"));
listgv.add(gv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return listgv;
}
//分页查询
public ArrayList<GoodsVo> select1(int start, int end){
ArrayList<GoodsVo> listgv=new ArrayList<GoodsVo>();
String sql="select * from goods order by ID limit ?,?";
try {
pst=con.prepareStatement(sql);
pst.setInt(1, start);
pst.setInt(2, end);
rs=pst.executeQuery();
while(rs.next()){
GoodsVo gv=new GoodsVo();
gv.setId(rs.getInt("ID"));
gv.setName(rs.getString("name"));
gv.setPicture(rs.getString("picture"));
gv.setPrice(rs.getDouble("price"));
listgv.add(gv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return listgv;
}