SSM分页+分页条

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/flower_CSDN/article/details/81628015

这里写图片描述

后台

/**
     * 跳转到最新上架页面
     * @return
     */
    @RequestMapping(value="newBookMore",method=RequestMethod.GET)
    public String newBookMore(int currentPage,HttpServletRequest request) {
        request.setAttribute("currentPage", currentPage);//传递总页数
        Page<TBook> page=PageHelper.startPage(currentPage, 8);

        List<TBook> newBookList=bookServ.orderByOnlineTime();
        request.setAttribute("total", page.getPages());//传递总页数
         //每本书作为键,值为对应的分类,Map集合具有去重性,如果将两者反过来,那么由于分类会重复,书就会被覆盖掉
         Map<TBook,List<String>> bookMap=new HashMap<TBook,List<String>>();
            for(TBook book:newBookList) {
                List<String> typeList=typeServ.selectNameById(book.getId());
                bookMap.put(book,typeList);
            }
        request.setAttribute("bookMap", bookMap);
//      request.getServletContext().setAttribute("total", page.getTotal());
        StringBuffer sb = new StringBuffer();
        //通过循环构建分页条,在后台构建分页条以简化jsp页面
        for(int i=1;i<=page.getPages();i++){
            if(i==currentPage){   //判断是否为当前页
                sb.append("『"+i+"』");  //构建分页条
            }else{
                sb.append("<a href='newBookMore?currentPage="+i+"'>"+i+"</a>"); //构建分页条
            }
            sb.append(" ");
        }
        request.setAttribute("pageBar", sb.toString());;

        return "book/newBookMore";
    }

Jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!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>最新上架</title>
<script type="text/javascript" src="jslib/jquery.js"></script>
<script type="text/javascript" src="js/newBookMore.js"></script>
<style>
.listTitle {
    font: "微软雅黑";
    font-style: oblique;
    font-size: 29px;
    color: coral;
    margin: 0px 620px;
}

#page {
    width: auto;
    height: 20px;
    margin-top: 20px;
    margin-left: 1380px;
    margin-bottom: 20px;
    float: right;
}

#newBooks {
    margin-top: 22px;
    font-size: 10;
    width: 100%;
    height: 100%;
}

#mbook {
    width: 20%;
    float: left;
    margin-left: 45px;
}
/*去除下划线*/
a {
    TEXT-DECORATION: none
}

a.xh {
    TEXT-DECORATION: none
}

a:hover.xh {
    TEXT-DECORATION: underline
}
</style>
</head>
<body>
    <div id="middle">
        <span class="listTitle"><font><strong>最新上架</strong></font></span>

        <div id="newBooks">
            <c:if test="${bookMap.size()>0}">
                <c:forEach items="${bookMap}" var="bookmap">
                    <div id="mbook">
                    <a href="bookDetail?bookId=${bookmap.key.id}"><img src="img/girl.jpg" width="85%" height="340px" /></a>
                         <font>
                            <br />书名:<a href="bookDetail?bookId=${bookmap.key.id}"> &lt;&lt;${bookmap.key.name}&gt;&gt;</a> 
                            <br />作者:<a href="">${bookmap.key.auth}</a>
                            <br />分类: <c:if test="${bookmap.value.size()>0}">
                                <c:forEach items="${bookmap.value}" var="type" varStatus="xh">
                                    <a href="">${type}</a>
                                    <!--xh.count从1开始,xh.index从0开始  -->
                                    <c:if test="${xh.count!=bookmap.value.size()}">
                                        <!-- 如果不是 最后一个元素,就加上逗号进行分隔-->
                                        ,
                                    </c:if>
                                </c:forEach>
                            </c:if> <br />更新时间:<fmt:formatDate type="date"
                                value="${bookmap.key.onlinetime}" /> <br />简介:${bookmap.key.brief}
                        </font>
                    </div>
                </c:forEach>
            </c:if>
        </div>

        <div id="page">

            <c:if test="${total>0}">
                <a href="newBookMore?currentPage=1">首页</a>
            </c:if>
            <c:if test="${currentPage>1}">
                <a href="newBookMore?currentPage=${currentPage-1}">上一页</a>
                ${pageBar}
                <c:if test="${currentPage<total}">
                    <a href="newBookMore?currentPage=${currentPage+1}">下一页</a>
                </c:if>
            </c:if>
            <c:if test="${currentPage<=1}">
                ${pageBar}
                <c:if test="${currentPage<total}">
                    <a href="newBookMore?currentPage=${currentPage+1}">下一页</a>
                </c:if>
            </c:if>
            <c:if test="${total>0}">
                <a href="newBookMore?currentPage=${total}">末页</a>
            </c:if>
        </div>
    </div>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/flower_CSDN/article/details/81628015