jstl+EL+jsp 分頁程式

來源:互聯網
上載者:User

 今天看了很多人寫的分頁程式,剛絕都太繁雜了。剛絕能不能再寫簡單一點 ,所以就花了一個多小時寫了個jstl+EL+jsp的楓葉程式,代碼相當簡單,並且容易理解,也容易修改成自己的分頁程式。先把代碼貼出來看看:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@include file="inner/jstl.jsp"%><%@include file="inner/DataSource.jsp"%><%    if (request.getParameter("currentPage") == null)                    {                        pageContext.setAttribute("currentPage",                                new Integer(0));                                           } else                    {                        pageContext.setAttribute("currentPage", request                                .getParameter("currentPage"));                    }%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>    <head>               <title>Paging show</title></head>    <body>        <sql:query sql="select * from new_components" var="news">        </sql:query>        <c:set var="resultNum">            <jsp:getProperty name="news" property="rowCount" />        </c:set>        <c:set var="PerPageNum" value="5" />        <%            int perPageNum = Integer.parseInt((String) pageContext                                .getAttribute("PerPageNum"));                        int resultNum = Integer.parseInt((String) pageContext                                .getAttribute("resultNum"));                        int pageNum = (int) (resultNum / perPageNum + 1);                        for (int i = 0; i <= pageNum; i++)                            {        %>        <a href="showDB.jsp?currentPage=<%=i%>">link<%=i%></a>        <%            }        %>        <div>            <table id="cc" border="2">                <c:forEach var="new" items="${news.rows}"                    begin="${currentPage*PerPageNum}"                    end="${PerPageNum+currentPage*PerPageNum-1}">                    <tr>                        <td>                            ${new.link}                        </td>                        <td>                            ${new.name}                        </td>                    </tr>                </c:forEach>            </table>        </div>    </body></html>

---------------------------------------------------

jstl.jsp頁面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="functions"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%><%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>DataSource.jsp頁面:<sql:setDataSource url="jdbc:mysql://localhost:3306/news" driver="com.mysql.jdbc.Driver" user="***"   password="****" />

下面我們來解釋一些變數:
假設你有26記錄,你希望每一頁顯示5,那麼你需要6頁
currentPage 就是標誌6裡面的任意一頁,這是通過超連結實現的。
resultNum  也就是所有的26條記錄
PerPageNum 希望每一頁顯示的記錄條數

Ok有了這些你就可以了。你可以修改一下資料庫,然後運行一下就能看到效果

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.