JSTL_分页

servlet:

public void fenye(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException, SQLException {
        int total_page; // 总页数
        int now_page = 0; // 当前页数
        int up_page; // 上一页
        int down_page;// 下一页
        int every_page = 2; // 每页有2条数据
        int start;//从哪里开始查
        String sql = "select id,name,price from goods";
        Dao dao = new Dao();
        List list = null;
        list = dao.query(sql, null);
        int total_size = list.size();//查出list的长度就是数据库里有多少条数据
        total_page = (total_size + every_page - 1) / every_page;//计算总页数
        HttpSession session=request.getSession(); 
        request.setAttribute("total_page", total_page);
        if (total_size == 0) {
            PrintWriter out = response.getWriter();
            out.print("抱歉,售空了");
        }else{
            String now_p = request.getParameter("now_page");
            if (now_p != null) {
                now_page = Integer.parseInt(now_p);
            } else {
                now_page = 1;//开始当前页是没有的,所以一定走else,当前页为1 
            }
            if (now_page == 1) {
                up_page = now_page;//如果当前页为1 ,则上一页就是1
            } else {
                up_page = now_page - 1;//如果当前页不是1 ,则上一页就是当前页-1
            }
            if (now_page == total_page) {
                down_page = total_page;//如果当前页等于总页,那么下一页就等于当前页
            } else {
                down_page = now_page + 1;//如果当前页不是总页数,就说明不是最后一页,下一页就是当前页加1
            }
            request.setAttribute("now_page", now_page);
            request.setAttribute("up_page", up_page);
            request.setAttribute("down_page", down_page);

        } 
        start = (now_page - 1) * every_page;
        String sql1 = "select * from goods order by id limit ?,2";//执行sql语句,查询条件为从start开始查,每次查两条
        List list1 = dao.query(sql1, new Object[] { start });//给问号赋值,把start给sql中的问号
        request.setAttribute("goodsList", list1);
        String str1="";
        for(int i=1;i<=total_page;i++){
            str1+="<a href=\"ShopCartServlet?method=fenye&now_page="+i+"\">"+i+"</a>&nbsp;&nbsp;";
            request.setAttribute("str1", str1);
        }
        request.getRequestDispatcher("SelectGoods.jsp").forward(request, response);
        //response.sendRedirect("SelectGoods.jsp");
    }

JSP:

<%@page import="org.jsoft.vo.GoodsVO"%>
<%@page import="java.util.List"%>
<%@page import="org.jsoft.dao.Dao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link href="css/tm.css" rel="stylesheet" type="text/css">
</head>
<body>
    <div class="guding">
        <img alt="" src="images/guding.png"
            style="position: absolute; z-index: 2; right: 0px;">
    </div>
    <div class="div1">
        <div class="div1_1">
            <div class="div1_1_1">
                <div class="div1_1_1_1">喵,欢迎来到天猫</div>
                <div class="div1_1_1_2">
                    <span><a href="Login.jsp">登录</a></span>
                </div>
                <div class="div1_1_1_3">
                    <span><a href="Reg.jsp">注册</a></span>
                </div>
            </div>
            <div class="div1_1_2">
                <ul>
                    <li>${sessionScope.loginName},你好</li>
                </ul>
                <div class="xialasanjiao"></div>
                <div class="gouwuche"></div>
                <ul>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ShowCart.jsp">购物车</a></li>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;结账</li>
                </ul>
                <div class="div1_hr"></div>
                <div class="xialasanjiao"></div>
                <div class="shouji"></div>
                <ul>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手机版</li>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;淘宝网</li>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;商家支持</li>
                </ul>
                <div class="xialasanjiao"></div>
                <div class="liebiao_1"></div>
                <ul>
                    <li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;网站导航</li>
                </ul>
                <div class="xialasanjiao"></div>
            </div>
        </div>
    </div>
    <div class="div2">
        <div class="div2_bg">
            <div class="div2_1">
                <div class="div2_1_1"></div>
                <div class="div2_1_2">
                    <input type="text" value="搜索 天猫 商品/品牌/店铺"
                        style="border: solid #FF0036; border-width: 2px 0 2px 2px; color: rgb(102, 102, 102); width: 483px; height: 26px; padding: 5px 3px 5px 5px; float: left;">
                    <input type="button" value="搜 索"
                        style="color: white; font-size: 20px; font-weight: bolder; border: solid #FF0036; border-top: 2px; border-bottom: 2px; width: 132px; height: 40px; background-color: red; float: left;">
                    <a href="###"><font color="red"
                        style="font-size: 13px; font-weight: lighter;">针织衫</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="rgb(153,153,153)"
                        style="font-size: 13px; font-weight: lighter;">羽绒服</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="rgb(153,153,153)"
                        style="font-size: 13px; font-weight: lighter;">四件套</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="red"
                        style="font-size: 13px; font-weight: lighter;">电动牙刷</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="rgb(153,153,153)"
                        style="font-size: 13px; font-weight: lighter;">客厅灯</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="red"
                        style="font-size: 13px; font-weight: lighter;">口红</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="rgb(153,153,153)"
                        style="font-size: 13px; font-weight: lighter;">手机</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="rgb(153,153,153)"
                        style="font-size: 13px; font-weight: lighter;">运动鞋</font></a> <font
                        color="#CCCCCC" style="font-weight: lighter;">〡</font> <a
                        href="###"><font color="red"
                        style="font-size: 13px; font-weight: lighter;">牛奶</font></a>
                </div>
            </div>
        </div>
    </div>
    <div class="div3">
        <div class="div3_bg">
            <div class="div3_1">
                <div class="div3_1_1"></div>
                <div class="div3_1_2">商品分类</div>
            </div>
            <div class="div3_2-4">
                <div class="div3_2"></div>
                <div class="div3_3"></div>

                <div class="div3_4">
                    <a href="###">天猫会员&nbsp;&nbsp;&nbsp;</a> <a href="###">电器城&nbsp;&nbsp;&nbsp;</a>
                    <a href="###">喵鲜生&nbsp;&nbsp;&nbsp;</a> <a href="###">医药馆&nbsp;&nbsp;&nbsp;</a>
                    <a href="###">营业厅&nbsp;&nbsp;&nbsp;</a> <a href="###">魅力惠&nbsp;&nbsp;&nbsp;</a>
                    <a href="###">飞猪旅行&nbsp;&nbsp;&nbsp;</a> <a href="###">苏宁易购</a>
                </div>
            </div>
        </div>
    </div>
    <div class="div4">
        <div class="div4_bg">
            <div class="div4_1">
                <div class="div4_1_1"></div>
                <a> 女装 </a> /<a> 内衣 </a><br>
                <div class="div4_1_2"></div>
                <a> 男装 </a> /<a> 运动户外 </a><br>
                <div class="div4_1_3"></div>
                <a> 女鞋 </a> /<a> 男鞋 </a> /<a> 箱包 </a><br>
                <div class="div4_1_4"></div>
                <a> 美妆 </a> /<a> 个人护理 </a><br>
                <div class="div4_1_5"></div>
                <a> 腕表 </a> /<a> 眼镜 </a> /<a> 饰品 </a><br>
                <div class="div4_1_6"></div>
                <a> 手机 </a> /<a> 数码 </a> /<a> 办公 </a><br>
                <div class="div4_1_7"></div>
                <a> 母婴玩具 </a><br>
                <div class="div4_1_8"></div>
                <a> 零食 </a> /<a> 茶酒 </a> /<a> 进口 </a><br>
                <div class="div4_1_9"></div>
                <a> 生鲜水果 </a><br>
                <div class="div4_1_10"></div>
                <a> 大家电 </a> /<a> 生活电器 </a><br>
                <div class="div4_1_11"></div>
                <a> 家具建材 </a><br>
                <div class="div4_1_12"></div>
                <a> 汽车 </a> /<a> 配件 </a> /<a> 用品 </a><br>
                <div class="div4_1_13"></div>
                <a> 家纺 </a> /<a> 家饰 </a> /<a> 鲜花 </a><br>
                <div class="div4_1_14"></div>
                <a> 医药保健 </a><br>
                <div class="div4_1_15"></div>
                <a> 厨具 </a> /<a> 收纳 </a> /<a> 宠物 </a><br>
                <div class="div4_1_16"></div>
                <a> 图书音像 </a><br>
            </div>
            <div class="div4_2">
                <div class="div4_2_1">
                    <table border="1px" cellspacing="0">
                        <tr width="100px" height="40px">
                            <td>商品名称</td>
                            <td>商品价格</td>
                            <td>操作</td>
                        </tr>
                        <c:forEach var="goods" items="${requestScope.goodsList}">
                        <!-- var里的就是 requestScope.goodsList里面的数组,用数组直接${goods[1]}-->
                        <tr width="100px" height="40px">
                            <td>${goods[1]}</td>
                            <td>${goods[2]}</td>
                            <td><a href="AddCart.jsp?id=${goods[0]}">添加购物车</a></td>
                        </tr>
                        </c:forEach>
                    </table>
                        总页为${requestScope.total_page} 当前页为${requestScope.now_page} 
                        <a href="ShopCartServlet?method=fenye&now_page=${requestScope.up_page}">上一页</a>
                        ${requestScope.str1} 
                        <a href="ShopCartServlet?method=fenye&now_page=${requestScope.down_page}">下一页</a>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

感谢老师们的悉心教诲,我也会在吉软这个大家庭中慢慢成长独立。

142158_0bI4_3716995.png

142228_fxJI_3716995.png

 

转载于:https://my.oschina.net/u/3716995/blog/1786196

JSTLJavaServer Pages Standard Tag Library)是一组标签,用于在JSP页面中使用Java代码。要实现分页和高亮,请按照以下步骤操作: 1.引入JSTL库 在JSP页面的头部引入JSTL库: ``` <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ``` 2.设置分页参数 在JSP页面中定义分页参数,例如: ``` <c:set var="pageSize" value="10" /> //每页显示10条数据 <c:set var="currentPage" value="${param.pageNum}" /> //当前页码 <c:set var="startIndex" value="${(currentPage - 1) * pageSize}" /> //起始索引 ``` 3.查询数据 查询数据,并使用JSTL的`<c:forEach>`标签进行遍历: ``` <% List<Article> articleList = articleService.getArticleList(); request.setAttribute("articleList", articleList); %> <c:forEach items="${articleList}" var="article" begin="${startIndex + 1}" end="${startIndex + pageSize}"> //展示数据 </c:forEach> ``` 4.生成分页导航 使用JSTL的`<c:forEach>`标签循环生成分页导航: ``` <c:url value="" var="url"> <c:param name="pageNum" value="1" /> </c:url> <c:forEach begin="1" end="${totalPage}" step="1" var="i"> <c:if test="${currentPage eq i}"> <a href="#" class="active">${i}</a> </c:if> <c:if test="${currentPage ne i}"> <a href="${url}&pageNum=${i}">${i}</a> </c:if> </c:forEach> ``` 其中,`<c:url>`标签用于生成URL链接,`<c:param>`标签用于设置参数,`${totalPage}`表示总页数。 5.实现高亮 使用JSTL的`<c:out>`标签实现高亮功能: ``` <c:out value="${fn:replace(article.title, keyword, '<span class=\'highlight\'>' + keyword + '</span>')}" escapeXml="false" /> ``` 其中,`fn:replace()`函数用于替换字符串中的关键字,`<span>`标签用于高亮显示,`escapeXml="false"`表示不进行XML编码。 以上就是使用JSTL实现分页和高亮的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值