<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jsp分頁

    今天寫了個jsp的分頁程序,以前在做jsp項目的時候,分頁采用的是“首頁,尾頁,上一頁,下一頁”的形式,雖然分頁沒有問題,但總感覺不夠友好,現(xiàn)在很多論壇都采用這種模式,即根據(jù)用戶請求的頁面,列出請求頁面和該頁面的前幾頁和后幾頁,看上去比較舒服,今天就模仿“編程中國論壇”的分頁風格練了練,后臺查詢數(shù)據(jù)庫的分頁代碼與之前做過的基本沒有變化,主要是在jsp頁面上多了些判斷,效果實現(xiàn)了,至于效率我就不好說了,如果哪位看過下面代碼的朋友有什么好方法,還望大家能夠一起交流,共同進步。

    該程序采用了MVC設(shè)計模式,代碼中的ServletX為總控制器,根據(jù)model值將請求轉(zhuǎn)至相應(yīng)模塊,后臺數(shù)據(jù)庫為Oracle,由于emp表中數(shù)據(jù)只有15條,所以我每頁只顯示一條記錄,效果如圖:

    1,用戶登錄,若登錄成功轉(zhuǎn)到main.jsp頁面,以下為用戶控制器代碼:
    package controls;

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import entitys.User;
    import routines.Translation;
    import operater.*;
    import java.util.*;

    public class UserServlet extends HttpServlet {

        
    /**
         * Constructor of the object.
         
    */

        
    public UserServlet() {
            
    super();
        }


        
    /**
         * Destruction of the servlet. <br>
         
    */

        
    public void destroy() {
            
    super.destroy(); // Just puts "destroy" string in log
            
    // Put your code here
        }


        
    /**
         * The doGet method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to get.
         * 
         * 
    @param request the request send by the client to the server
         * 
    @param response the response send by the server to the client
         * 
    @throws ServletException if an error occurred
         * 
    @throws IOException if an error occurred
         
    */

        
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
                    
    throws ServletException, IOException {
                String event 
    = request.getParameter("event");
                
    if(event.equals("login")){
                    String userName 
    = Translation.transCode(request.getParameter("userName"));
                    String password 
    = Translation.transCode(request.getParameter("password"));
                    User user 
    = new User();
                    user.setUserName(userName);
                    user.setPassword(password);
                    OperUser obj 
    = new OperUser();
                    
    if(obj.isExist(user)){
                        
    this.mySet(request,"1");
                        request.getRequestDispatcher(
    "main.jsp").forward(request, response);
                        
    return;
                    }
    else{
                        System.out.println(
    "失敗");
                    }

                }

        }

            
            
    private void mySet(HttpServletRequest request,Object pageNo){
                OperEmp emp 
    = new OperEmp();
                        
    //向請求中存儲關(guān)于分頁的信息
                        ArrayList aryInfo = emp.getEmp(pageNo);
                        request.setAttribute(
    "data", aryInfo.get(0));
                        request.setAttribute(
    "pageNo", aryInfo.get(1));
                        request.setAttribute(
    "pageCount", aryInfo.get(2));
                        request.setAttribute(
    "rowsCount", aryInfo.get(3));
                        ArrayList aryNumber 
    = new ArrayList();
                        
    for(int i=1;i<=10;i++){
                            aryNumber.add(
    new Integer(i));
                        }

                        request.setAttribute(
    "number", aryNumber);
                        ArrayList aryNumberR 
    = new ArrayList();
                        
    for(int i=9;i>=0;i--){
                            aryNumberR.add(
    new Integer(i));
                        }

                        request.setAttribute(
    "numberR", aryNumberR);
                        
    //向請求中存儲關(guān)于職位的信息
                        ArrayList aryJob = emp.getJob();
                        request.setAttribute(
    "job", aryJob);
                        
    //向請求中存儲關(guān)于部門編號的信息
                        OperDept dept = new OperDept();
                        ArrayList aryDeptno 
    = dept.getDeptno();
                        request.setAttribute(
    "deptno", aryDeptno);
            }


        
    /**
         * The doPost method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to post.
         * 
         * 
    @param request the request send by the client to the server
         * 
    @param response the response send by the server to the client
         * 
    @throws ServletException if an error occurred
         * 
    @throws IOException if an error occurred
         
    */

        
    public void doPost(HttpServletRequest request, HttpServletResponse response)
                
    throws ServletException, IOException {
            
    this.doGet(request, response);
        }


        
    /**
         * Initialization of the servlet. <br>
         *
         * 
    @throws ServletException if an error occure
         
    */

        
    public void init() throws ServletException {
            
    // Put your code here
        }


    }


    2,main.jsp頁面,即顯示分頁的頁面的代碼:
    <%@page contentType="text/html" pageEncoding="GBK"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd"
    >

    <html>
        
    <head>
            
    <title>職員信息</title>
            
    <script type="text/javascript">
                
    function go(){
                    
    var page = document.frmMain.pageNo.value;
                    window.location.href 
    = 'ServletX?model=emp&event=partitionPage&pageNo=+ page;
                    
    return;
                }

            
    </script>
        
    </head>
        
    <body>
            
    <form name="frmMain" action="ServletX" method="get">
                
    <table border="1" align="center">
                    
    <caption>
                        職員信息表
                    
    </caption>
                    
    <tr>
                        
    <th onclick="selectAll(this)" style="cursor:hand">全選</th>
                        
    <th>職員編號</th>
                        
    <th>職員姓名</th>
                        
    <th>職位</th>
                        
    <th>直接上司</th>
                        
    <th>入職時間</th>
                        
    <th>薪金</th>
                        
    <th>獎金</th>
                        
    <th>部門編號</th>
                        
    <th>操作</th>
                    
    </tr>
                    
    <c:forEach  var="obj" items="${requestScope.data}">
                        
    <tr>
                            
    <td align="center"><input type="checkbox" name="${obj.empNo}"/></td>
                            
    <td>${obj.empNo}</td>
                            
    <td>${obj.ename}</td>
                            
    <td>${obj.job}</td>
                            
    <td>${obj.mgr}</td>
                            
    <td>${obj.hireDate}</td>
                            
    <td>${obj.sal}</td>
                            
    <td>${obj.comm}</td>
                            
    <td>${obj.deptno}</td>
                            
    <td><input type="button" value="編輯"/></td>
                        
    </tr>
                    
    </c:forEach>
                    
    <tr>
                        
    <td colspan="10" align="left">
                            總記錄數(shù):${requestScope.rowsCount}
    &nbsp;&nbsp;&nbsp;
                            
    <c:choose>
                                
    <c:when test="${requestScope.pageCount <= 10}">
                                    
    <c:if test="${requestScope.pageNo != 1}">
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}"><<</a>
                                    
    </c:if>
                                    
    <c:forEach var="num" begin="0" end="${requestScope.pageCount - 1}" items="${requestScope.number}">
                                        
    <c:choose>
                                            
    <c:when test="${requestScope.pageNo != num}">
                                                
    <href="ServletX?model=emp&event=partitionPage&pageNo=${num}">${num}</a>
                                            
    </c:when>
                                            
    <c:otherwise>
                                                
    <font color="red">${requestScope.pageNo}</font>
                                            
    </c:otherwise>
                                        
    </c:choose>
                                    
    </c:forEach>
                                    
    <c:if test="${requestScope.pageNo != requestScope.pageCount}">
                                        
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + 1}">>></a>
                                    
    </c:if>
                                
    </c:when>
                                
                                
    <c:otherwise>
                                    
    <c:choose>
                                        
    <c:when test="${requestScope.pageNo > 3 && requestScope.pageNo < requestScope.pageCount - 7}">
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=1">1</a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}"><<</a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 2}">${requestScope.pageNo - 2}</a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}">${requestScope.pageNo - 1}</a>
                                            
    <font color="red">${requestScope.pageNo}</font>
                                            
    <c:forEach var="num" items="${requestScope.number}" begin="0" end="6">
                                                
    <c:if test="${requestScope.pageNo + num <= pageCount}">
                                                    
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + num}">${requestScope.pageNo + num}</a>
                                                
    </c:if>
                                            
    </c:forEach>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + 1}">>></a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageCount}">..${requestScope.pageCount}</a>
                                        
    </c:when>
                                        
                                        
    <c:when test="${requestScope.pageNo > 3 && requestScope.pageNo >= requestScope.pageCount -7 && requestScope.pageNo != requestScope.pageCount}">
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=1">1</a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}"><<</a>
                                            
    <c:forEach var="numR" items="${requestScope.numberR}" begin="0">
                                                
    <c:choose>
                                                    
    <c:when test="${requestScope.pageCount - numR != requestScope.pageNo}">
                                                        
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageCount - numR}">${requestScope.pageCount - numR}</a>
                                                    
    </c:when>
                                                    
    <c:otherwise>
                                                        
    <font color="red">${requestScope.pageNo}</font>
                                                    
    </c:otherwise>
                                                
    </c:choose>
                                            
    </c:forEach>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + 1}">>></a>
                                        
    </c:when>
                                        
                                        
    <c:when test="${requestScope.pageNo <= 3 && requestScope.pageNo > 1}">
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}"><<</a>
                                            
    <c:forEach var="num" items="${requestScope.number}">
                                                
    <c:choose>
                                                    
    <c:when test="${requestScope.pageNo != num}">
                                                        
    <href="ServletX?model=emp&event=partitionPage&pageNo=${num}">${num}</a>
                                                    
    </c:when>
                                                    
    <c:otherwise>
                                                        
    <font color="red">${requestScope.pageNo}</font>
                                                    
    </c:otherwise>
                                                
    </c:choose>
                                            
    </c:forEach>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + 1}">>></a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageCount}">..${requestScope.pageCount}</a>
                                        
    </c:when>
                                        
                                        
    <c:when test="${requestScope.pageNo == 1}">
                                            
    <c:forEach var="num" items="${requestScope.number}">
                                                
    <c:choose>
                                                    
    <c:when test="${requestScope.pageNo != num}">
                                                        
    <href="ServletX?model=emp&event=partitionPage&pageNo=${num}">${num}</a>
                                                    
    </c:when>
                                                    
    <c:otherwise>
                                                        
    <font color="red">${requestScope.pageNo}</font>
                                                    
    </c:otherwise>
                                                
    </c:choose>
                                            
    </c:forEach>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo + 1}">>></a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageCount}">..${requestScope.pageCount}</a>
                                        
    </c:when>
                                        
                                        
    <c:when test="${requestScope.pageNo == requestScope.pageCount}">
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=1">1</a>
                                            
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageNo - 1}"><<</a>
                                            
    <c:forEach var="numR" items="${requestScope.numberR}" begin="0">
                                                
    <c:choose>
                                                    
    <c:when test="${requestScope.pageCount - numR != requestScope.pageNo}">
                                                        
    <href="ServletX?model=emp&event=partitionPage&pageNo=${requestScope.pageCount - numR}">${requestScope.pageCount - numR}</a>
                                                    
    </c:when>
                                                    
    <c:otherwise>
                                                        
    <font color="red">${requestScope.pageNo}</font>
                                                    
    </c:otherwise>
                                                
    </c:choose>
                                            
    </c:forEach>
                                        
    </c:when>
                                    
    </c:choose>
                                
    </c:otherwise>
                            
    </c:choose>
                            
    <input name="pageNo" type="text" size="3"/>
                            
    <input type="button" onclick="go()" value="GO"/>
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td colspan="10" align="center">
                            
    <input type="button" value="增加" onclick="addRow()"/>
                            
    <input type="submit" value="保存" onclick="saveRow()"/>
                            
    <input type="submit" value="刪除" onclick="deleteRow()"/>
                        
    </td>
                    
    </tr>
                
    </table>
            
    </form>
        
    </body>
    </html>
    3,用戶點擊相應(yīng)頁面鏈接或通過文本框請求頁面時,即emp表的控制器,方法類似于用戶登錄成功后的處理,代碼如下:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     
    */


    package controls;

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import entitys.Emp;
    import routines.Translation;
    import operater.*;
    import java.util.*;

    /**
     *
     * 
    @author Administrator
     
    */

    public class EmpServlet extends HttpServlet {
       
        
    /** 
        * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
        * 
    @param request servlet request
        * 
    @param response servlet response
        
    */

        
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        
    throws ServletException, IOException {
            response.setContentType(
    "text/html;charset=UTF-8");
            PrintWriter out 
    = response.getWriter();
            
    try {
                
    /* TODO output your page here
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet EmpServlet</title>");  
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet EmpServlet at " + request.getContextPath () + "</h1>");
                out.println("</body>");
                out.println("</html>");
                
    */

            }
     finally 
                out.close();
            }

        }
     

        
    /** 
        * Handles the HTTP <code>GET</code> method.
        * 
    @param request servlet request
        * 
    @param response servlet response
        
    */

        
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        
    throws ServletException, IOException {
            String event 
    = request.getParameter("event");
            
    if(event.equals("partitionPage")){
                String pageNo 
    = request.getParameter("pageNo");
                
    this.mySet(request, pageNo);
                request.getRequestDispatcher(
    "main.jsp").forward(request, response);
                
    return;
            }

        }
     
        
        
    private void mySet(HttpServletRequest request, Object pageNo) {
            OperEmp emp 
    = new OperEmp();
            
    //向請求中存儲關(guān)于分頁的信息
            ArrayList aryInfo = emp.getEmp(pageNo);
            request.setAttribute(
    "data", aryInfo.get(0));
            request.setAttribute(
    "pageNo", aryInfo.get(1));
            request.setAttribute(
    "pageCount", aryInfo.get(2));
            request.setAttribute(
    "rowsCount", aryInfo.get(3));
            ArrayList aryNumber 
    = new ArrayList();
            
    for (int i = 1; i <= 10; i++{
                aryNumber.add(
    new Integer(i));
            }

            request.setAttribute(
    "number", aryNumber);
            ArrayList aryNumberR 
    = new ArrayList();
            
    for (int i = 9; i >=0; i--{
                aryNumberR.add(
    new Integer(i));
            }

            request.setAttribute(
    "numberR", aryNumberR);
            
    //向請求中存儲關(guān)于職位的信息
            ArrayList aryJob = emp.getJob();
            request.setAttribute(
    "job", aryJob);
            
    //向請求中存儲關(guān)于部門編號的信息
            OperDept dept = new OperDept();
            ArrayList aryDeptno 
    = dept.getDeptno();
            request.setAttribute(
    "deptno", aryDeptno);
        }


        
    /** 
        * Handles the HTTP <code>POST</code> method.
        * 
    @param request servlet request
        * 
    @param response servlet response
        
    */

        
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        
    throws ServletException, IOException {
            
    this.doGet(request, response);
        }


        
    /** 
        * Returns a short description of the servlet.
        
    */

        
    public String getServletInfo() {
            
    return "Short description";
        }

    }

    4,該類為分頁查詢代碼,用戶可隨需要改變頁面顯示的記錄行數(shù),代碼如下:
    package operater;

    import java.sql.*;
    import entitys.Emp;
    import db.DataBase;
    import java.util.*;

    /**
     *該類用于完成對用戶信息表操作的業(yè)務(wù)邏輯
     * 
    @author 非凡DZ
     
    */

    public class OperEmp {
        
        
    private Connection con = null;
        
    private PreparedStatement pstn = null;
        
    private ResultSet rs = null;
        
    private int pageCount = 0;//記錄總頁數(shù)
        private int pageNo = 0;//記錄要前往的頁數(shù)
        private int pageRows = 6;//記錄每頁的行數(shù)
        private int rowsCount = 0;//記錄總行數(shù)
        private int i = 0;//用于控制循環(huán)次數(shù)
        
        
    /**
         * 根據(jù)請求的頁數(shù)得到相應(yīng)的數(shù)據(jù)
         * 
    @param page 請求的頁碼
         * 
    @return 請求頁碼中的信息,請求頁碼及總頁數(shù)
         
    */

        
    public ArrayList getEmp(Object page){
            
    if(page == null){
                pageNo 
    = 1;
            }
    else{
                pageNo 
    = Integer.parseInt(page.toString());
            }

            
    if(pageNo < 1){
                pageNo 
    = 1;
            }

            DataBase db 
    = new DataBase();
            con 
    = db.getConnection();
            String sql 
    = "select * from emp";
            ArrayList aryInfo 
    = new ArrayList();
            ArrayList aryEmp 
    = new ArrayList();//記錄所有
            try {
                pstn 
    = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                rs 
    = pstn.executeQuery();
                rs.last();
                rowsCount 
    = rs.getRow();
                pageCount 
    = (rowsCount + pageRows - 1/ pageRows;
                
    if(pageNo > pageCount){
                    pageNo 
    = pageCount;
                }

                
    if(pageCount > 0){
                    rs.absolute((pageNo 
    - 1* pageRows + 1);
                }

                
    while(i < pageRows && !rs.isAfterLast()){
                    Emp emp 
    = new Emp();
                    emp.setEmpNo(rs.getInt(
    1));
                    emp.setEname(rs.getString(
    2));
                    emp.setJob(rs.getString(
    3));
                    emp.setMgr(rs.getInt(
    4));
                    emp.setHireDate(rs.getString(
    5));
                    emp.setSal(rs.getFloat(
    6));
                    emp.setDeptno(rs.getInt(
    7));
                    aryEmp.add(emp);
                    rs.next();
                    i
    ++;
                }

            }
     catch (Exception e) {
                System.out.println(
    "分頁異常"+e.getMessage());
            }

            aryInfo.add(aryEmp);
            aryInfo.add(
    new Integer(pageNo));//當前頁數(shù)
            aryInfo.add(new Integer(pageCount));//總頁數(shù)
            aryInfo.add(new Integer(rowsCount));//總行數(shù)
            return aryInfo;
        }

        
        
    /**
         * 得到所有職位
         * 
    @return
         
    */

        
    public ArrayList getJob(){
            DataBase db 
    = new DataBase();
            con 
    = db.getConnection();
            
    boolean flag = false;
            String sql 
    = "select job from emp";
            ArrayList aryJob 
    = new ArrayList();
            
    try{
                pstn 
    = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                rs 
    = pstn.executeQuery();
                
    while (rs.next()) {
                    flag 
    = false;
                    
    for (int i = 0; i < aryJob.size(); i++{
                        String job 
    = (String) aryJob.get(i);
                        
    if (job.equals(rs.getString(1))) {
                            flag 
    = true;
                            
    break;
                        }

                    }

                    
    if (!flag) {
                        aryJob.add(rs.getString(
    1));
                    }

                }

            }
    catch(Exception e){
                System.out.println(
    "職位查詢異常"+e.getMessage());
            }

            
    return aryJob;
        }

    }

    以上程序中有一些代碼是用于編輯數(shù)據(jù)用的,如用于存儲職位,部門編號的集合等

    posted on 2008-04-30 17:30 非凡DZ 閱讀(4260) 評論(11)  編輯  收藏 所屬分類: J2EE

    評論

    # re: jsp分頁 2008-04-30 18:41 yuxianghong

    看了一下你寫的,在數(shù)據(jù)庫查詢時,你好象是把所有的數(shù)據(jù)都查出來了,這樣可能效率不是很好.  回復(fù)  更多評論   

    # re: jsp分頁 2008-05-03 15:01 fejay

    學習了  回復(fù)  更多評論   

    # re: jsp分頁[未登錄] 2008-05-03 20:10 jimmy

    要是上百萬條記錄呢,不是沒次都都查出來吧  回復(fù)  更多評論   

    # re: jsp分頁 2008-05-03 21:59 非凡DZ

    確實就是效率問題 每次都需要查詢所有的記錄 這個程序只是簡單的實現(xiàn)了下效果   回復(fù)  更多評論   

    # re: jsp分頁 2008-05-04 20:11 ky

    分頁顯示學習了,再加上分頁查詢吧。  回復(fù)  更多評論   

    # re: jsp分頁 2008-05-05 15:37 愛上對方

    暈,雖然實現(xiàn)了分頁,但你看你頁面代碼,這么復(fù)雜,沒有效率啊  回復(fù)  更多評論   

    # re: jsp分頁 2008-05-05 16:03 非凡DZ

    其實頁面代碼我認為還不是特別復(fù)雜,可能是這個風格的blog寬度不夠,所以初次看這個程序的代碼比較繁瑣
    分頁的時候無非就是根據(jù)每頁記錄數(shù)和總記錄數(shù)得到總的頁數(shù),然后將總頁數(shù)分成大于10和小于10兩種情況,再分別就當前頁進行一下判斷就好了。
    我看一些朋友提到效率問題,這兩天我也是一直在想,如果真的有上千上萬條,甚至百萬條分頁,恐怕也很少有人有耐心一直翻下去,況且需要用分頁顯示的數(shù)據(jù)恐怕也沒有那么龐大吧  回復(fù)  更多評論   

    # re: jsp分頁 2008-05-14 17:14 咸魚

    @非凡DZ
    會有上千上萬條帶分頁的
    我現(xiàn)在開發(fā)的系統(tǒng) 對于上百萬條 是很平常的
    而且經(jīng)常會用此查詢的。
    不要覺得不可能 很多bug都是在否定的前提下 產(chǎn)生。
    總覺得不可能發(fā)生 它就是那么發(fā)生了。  回復(fù)  更多評論   

    # re: jsp分頁 2008-08-16 12:54 hexiaozhen

    spring+hibernate 3.0+struts 2.0的實現(xiàn)過程能否發(fā)下,我想看看實現(xiàn)過程,謝了  回復(fù)  更多評論   

    # re: jsp分頁 2008-08-18 20:39 非凡DZ

    最近恐怕夠嗆,時間比較緊張,有時間的話會寫的  回復(fù)  更多評論   

    # re: jsp分頁[未登錄] 2008-09-16 16:32 Stephen

    這樣做太麻煩了,有沒有更合理更簡單的方法呢?比如在查詢語句上做?  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆分類(19)

    隨筆檔案(19)

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久国产精品免费免费搜索| 国产嫩草影院精品免费网址| 国产免费人成视频尤勿视频| 少妇性饥渴无码A区免费| 国产情侣久久久久aⅴ免费| 国产精品冒白浆免费视频| 亚洲精品视频久久| 亚洲狠狠色丁香婷婷综合| 特黄特色大片免费| 久久国产精品免费网站| 国产免费AV片无码永久免费| 亚洲黄色免费网站| 国产亚洲视频在线观看网址| 老司机在线免费视频| 亚洲毛片网址在线观看中文字幕| 亚洲AV无码久久精品蜜桃| 美女视频黄a视频全免费网站一区| 国产免费毛不卡片| 亚洲乱亚洲乱淫久久| 最近中文字幕大全免费版在线| 免费人成在线观看网站视频 | 日韩插啊免费视频在线观看| 福利免费观看午夜体检区| 一级毛片免费毛片一级毛片免费| 亚洲国产成人精品91久久久| 亚洲色大成网站www久久九| 精品在线视频免费| 在线免费观看一级片| 亚洲国产精品综合一区在线| 无码精品一区二区三区免费视频| 亚洲综合av永久无码精品一区二区| 黄色毛片免费网站| 国产一级一片免费播放| 亚洲av无码一区二区三区天堂| AV片在线观看免费| 亚洲综合偷自成人网第页色| 日本黄网站动漫视频免费| 自怕偷自怕亚洲精品| 无码午夜成人1000部免费视频| 久久夜色精品国产亚洲AV动态图| 91在线视频免费观看|