jsp寫分頁

來源:互聯網
上載者:User

標籤:set   es2017   begin   date   gen   control   utf-8   tle   user   

<!-- 1:jsp頁面使用bootstrap,jquery -->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta>
<title>首頁</title>
  <link href="${pageContext.request.contextPath}/js/bootstrap/css/bootstrap.min.css"  rel="stylesheet">
  <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
  <script src="${pageContext.request.contextPath}/js/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
    <div class="container text-center">
        <table class="table table-hover text-center table-bordered " style="background: #eee">
            <thead>
                <tr>
                    <td>編號</td>
                    <td>姓名</td>
                    <td>性別</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <c:forEach var="user" items="${pageUser}">
                    <tr>
                        <td>${user.id}</td>     
                        <td>${user.name}</td>
                        <td>${user.sex}</td>
                        <td><a href="${pageContext.request.contextPath}/user/updateUserForm?id=${user.id}">修改</a>
                            <a href="${pageContext.request.contextPath}/user/deleteUser?id=${user.id}">刪除</a>
                        </td>
                    </tr>
                </c:forEach>
            </tbody>
            <tfoot>
                <tr>
                    <th colspan="4" class="text-center">
                        <form action="${pageContext.request.contextPath}/user/pageUser" class="form-inline"  method="get">
                            <ul class="pagination">
                                <c:if test="${pageIndex!=1}">
                                      <li><a href="${pageContext.request.contextPath}/user/pageUser?pageIndex=1">首頁</a></li>
                                      <li><a href="${pageContext.request.contextPath}/user/pageUser?pageIndex=${pageIndex-1}">&laquo;</a></li>
                                </c:if>
                                <c:forEach var="i" begin="${pageStart}" end="${pageEnd}">
                                    <c:if test="${pageIndex!=i}">
                                         <li><a href="${pageContext.request.contextPath}/user/pageUser?pageIndex=${i}">${i}</a></li>
                                    </c:if>
                                    <c:if test="${pageIndex==i}">
                                            <li class="active"><a href="#">${i}<span class="sr-only">(current)</span></a></li>
                                    </c:if>
                                </c:forEach>
                                <c:if test="${pageIndex<totalPage}">
                                      <li><a href="${pageContext.request.contextPath}/user/pageUser?pageIndex=${pageIndex+1}">&raquo;</a></li>
                                      <li><a href="${pageContext.request.contextPath}/user/pageUser?pageIndex=${totalPage}">末頁</a></li>
                                </c:if>
                                <li><input type="text" name="pageIndex" size="2" class="form-control"></li>
                                <li><select name="pageSize" class="form-control">
                                        <option value="10">10</option>
                                        <option value="15">15</option>
                                        <option value="20">20</option>
                                </select></li>
                                <li><input type="submit" value="跳轉" class="form-control"></li>
                                <li><span>共 ${totalPage}頁</span></li>
                            </ul>
                        </form>
                    </th>
                </tr>
            </tfoot>
        </table>
    </div>
</body>
</html>

<!-- 2:後台為ssm架構 -->

@Controller
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserServiceImple userServiceImple;
    /**
     * 使用者資訊分頁
     * @param pageIndex
     * @param pageSize
     * @param map
     * @return
     */
    @RequestMapping("/pageUser")
    public String pageUser(Integer pageIndex,Integer pageSize,ModelMap map){
        if(pageIndex==null){
            pageIndex=1;
        }
        if(pageSize==null){
            pageSize=10;
        }
        List<User> pageUser = userServiceImple.pageUser(pageIndex,pageSize);
        Integer totalRecord = userServiceImple.getTotal();
        Integer totalPage=totalRecord%pageSize==0?totalRecord/pageSize:totalRecord/pageSize+1;

  //PagerUtil工具,設定每頁下面顯示的分頁數目
        int[] calPage = PagerUtil.calcPage(pageIndex, totalPage, 4);


        map.put("pageUser", pageUser);
        map.put("pageIndex", pageIndex);
        map.put("pageSize", pageSize);
        map.put("totalPage", totalPage);
        map.put("totalRecord", totalRecord);
        map.put("pageStart", calPage[0]);
        map.put("pageEnd", calPage[1]);
        return "pageUser";
    }

}

<!-- 3:分頁工具,設定每頁下面顯示的頁數 -->

public class PagerUtil {
    /**
     * 計算顯示當前分頁的起始頁
     * @param pageNum 當前頁碼
     * @param pageCount 總頁數
     * @param sideNum 分頁係數 分頁條中顯示幾個數字頁碼。 顯示數字頁碼個數 = 2 * sideNum + 1
     * @return 起始頁和結束頁
     */
    public static int[] calcPage(int pageNum, int pageCount, int sideNum) {
        int startNum = 0;
        int endNum = 0;

        if (pageCount <= sideNum) {
            endNum = pageCount;
        } else {
            if ((sideNum + pageNum) >= pageCount) {
                endNum = pageCount;
            } else {
                endNum = sideNum + pageNum;
                if ((sideNum + pageNum) <= (2 * sideNum + 1)) {
                    if ((2 * sideNum + 1) >= pageCount) {
                        endNum = pageCount;
                    } else {
                        endNum = 2 * sideNum + 1;
                    }
                } else {
                    endNum = sideNum + pageNum;
                }
            }
        }

        if (pageNum <= sideNum) {
            startNum = 1;
        } else {
            if ((pageNum + sideNum) >= pageCount) {
                if ((2 * sideNum + 1) >= pageCount) {
                    if ((pageCount - 2 * sideNum) >= 1) {
                        startNum = pageCount - 2 * sideNum;
                    } else {
                        startNum = 1;
                    }
                } else {
                    startNum = pageCount - 2 * sideNum;
                }
            } else {
                if ((pageNum - sideNum) >= 1) {
                    startNum = pageNum - sideNum;
                } else {
                    startNum = 1;
                }
            }
        }
        // loopOut(startNum, endNum, pageNum);
        int[] params = {startNum,endNum};
        return params;
    }

}

<!-- 4:分頁結果顯示 -->

 

jsp寫分頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.