JSP_0315

原创
2018/03/16 16:21
阅读数 25

一.效果图

二.代码

1.jsp 分页部分代码:

<div id="box_3"><!-- 展示 -->
                    <div id="d_2">
                        <%
                            List<GoodsVO> goods = new ArrayList<GoodsVO>();//定义goods集合接收商品信息
                            GoodsDAO goodsdao = new GoodsDAO();
                            PageVO pagevo = new PageVO();
                            pagevo.setEvery_page(12);//每页十二个商品
                            pagevo.setTotal_page((goodsdao.goodsNum()+pagevo.getEvery_page()-1)/pagevo.getEvery_page());//计算总页数:根据数据库中总商品数量计算
                            String now_p= request.getParameter("now_page");
                            if(now_p==null){//给当前页赋值
                                pagevo.setNow_page(1);//页面第一次加载时,给当前页赋值为第一页
                            }else{
                                pagevo.setNow_page(Integer.parseInt(now_p));//给当前页赋值为目标页           

  /*思路一:限制now_page的赋值*/

                                if(pagevo.getNow_page()<1){//当得到now_page小于一时(即第一页往上翻页情况)使now_page为1
                                    pagevo.setNow_page(1);
                                }else if(pagevo.getNow_page()>pagevo.getTotal_page()){//当now_page大于总页数时(即最后一页往下翻页) 使now_page为最后一页
                                    pagevo.setNow_page(pagevo.getTotal_page());
                                }
                            }
                            pagevo.setUp_page(pagevo.getNow_page()-1);//给up_page赋值
                            pagevo.setDown_page(pagevo.getNow_page()+1);//给down_page赋值

  /*思路二:限制up_page与down_page的赋值

                            *if(pagevo.getNow_page()==1){//给up_page赋值
                                pagevo.setUp_page(1);//到第一页时 up_page等于当前页
                            }else{
                                pagevo.setUp_page(pagevo.getNow_page()-1);
//正常翻页情况
                            }
                            if(pagevo.getNow_page()==pagevo.getTotal_page()){
//给down_page赋值
                                pagevo.setDown_page(pagevo.getNow_page());//最后一页时 down_page等于当前页
                            }else{
                                pagevo.setDown_page(pagevo.getNow_page()+1);
//正常翻页情况
                            } */
                            goods = goodsdao.goodsGet(pagevo);//调用拿取数据库商品方法
                            for(int i=0;i<goods.size();i++){ //for循环展示商品
                        %>
                        <div id="e_1">
                            <a href="#"><img title="<%=goods.get(i).getTitle() %> " src="../images/<%=goods.get(i).getPicture() %>"></a>
                            <p style="width:220px;height:22px;margin:15px 0 8px 0;font-size: 20px;font-family:Microsoft YaHei;color:#e4393c;font-weight: bolder;">
                                ¥<%=goods.get(i).getPrice() %>
                            </p>
                            <div id="f_1">
                                <a id="jieshao" title="<%=goods.get(i).getTitle() %>" href="#"><%=goods.get(i).getName() %></a>
                            </div>
                            <div id="f_2">
                                <span><%=goods.get(i).getComment() %></span><span id="pinglun">条评论</span>
                            </div>
                            <div id="f_3">
                                京东自营旗舰店<div id="lingdang"></div>
                            </div>
                            <div id="f_4">
                                京东配送
                            </div>
                            <div id="f_5">
                                <div class="g_1">
                                    <a href="#"><font>☐</font> 对比</a>
                                </div>
                                <div class="g_1">
                                    <a href="#"><font>❤</font> 关注</a>
                                </div>
                                <div id="g_2">
                                    <a href="#" target="_Blank"><img alt="" src="../images/gouwuche.png">&nbsp;&nbsp;加入购物车</a>
                                </div>
                            </div>
                        </div>
                        <%
                            }
                        %>
                    </div>
                </div>
            </div>
            <div id="floor_4">
                <ul id="page">
                     <li id="up"><a href="DoFenye.jsp?now_page=<%=pagevo.getUp_page()%>">&lt; 上一页</a></li>
                    <li><a href="DoFenye.jsp?now_page=1">1</a></li>
                    <li><a href="DoFenye.jsp?now_page=2">2</a></li>
                    <li><a href="DoFenye.jsp?now_page=3">3</a></li>
                    <li><a href="DoFenye.jsp?now_page=4">4</a></li>
                    <li><a href="DoFenye.jsp?now_page=5">5</a></li>
                    <li><a href="DoFenye.jsp?now_page=6">6</a></li>
                    <li><a href="DoFenye.jsp?now_page=7">7</a></li>
                    <li id="down"><a href="DoFenye.jsp?now_page=<%=pagevo.getDown_page()%>">下一页 &gt;</a></li>
                </ul>
            </div>

2.DAO部分代码:

 public List<GoodsVO> goodsGet(PageVO pagevo){//从数据库中拿取商品
        List<GoodsVO> goods = new ArrayList<GoodsVO>();
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs =null;
        
        try {
            con=SingleTest.getST().getCon();
            //sql语句查询goods表格中从0开始到12截止的12个对象
            String sql = "select * from goods order by ID limit ?,?";
            pst = con.prepareStatement(sql);//执行;将sql字符串发送到数据库
             pst.setInt(1,(pagevo.getNow_page()*pagevo.getEvery_page())-pagevo.getEvery_page());//limit拿取起始位置
            pst.setInt(2,pagevo.getEvery_page());//limit拿取的长度
            rs = pst.executeQuery();
            while(rs.next()){//rs遍历
                GoodsVO goodsvo = new GoodsVO();
                goodsvo.setId(rs.getInt("ID"));
                goodsvo.setName(rs.getString("name"));
                goodsvo.setPrice(rs.getDouble("price"));
                goodsvo.setPicture(rs.getString("picture"));
                goodsvo.setComment(rs.getString("comment"));
                goodsvo.setTitle(rs.getString("title"));
                goods.add(goodsvo);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            SingleTest.getST().closeAll(null, pst, con);
        }
        return goods;
    }

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部