java_java57_0315作业_孙明明

 

分页

1、效果图

120859_sYym_3715009.png

120918_LFQh_3715009.png

120933_PDx7_3715009.png

120943_nATg_3715009.png

 

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;
     
        }

 

转载于:https://my.oschina.net/u/3715009/blog/1635759

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值