JSP分頁顯示技術(前端處理)

思路:

  1. 連接數據庫獲取結果集
  2. 通過地址欄傳參獲取當前是第幾頁
  3. 循環控制輸出待顯示的內容
  4. 設置相應頁碼跳轉鏈接(即傳參給點2)

即模改點1,3即可。

代碼:

		// 1. 連接數據庫獲取結果集
		//示例 List<Message> all=DAOFactory.getMessageDAOInstance().getAllMessage();
	  	
	  	//分頁處理
	    request.setCharacterEncoding("utf-8");//設置編碼
	    int pag=1;
	    if(request.getParameter("page")!=null)
	    	pag=Integer.parseInt(request.getParameter("page"));
	    int rowCnt=all.size();  //總記錄數
	    int pageSize=5;			//每頁5條記錄
	    int pageCnt=(rowCnt+pageSize-1)/pageSize; //頁數
	    if(pag<=0||pag>pageCnt)pag=1;	//越界則默認首頁
	    for(int j=(pag-1)*pageSize;j<rowCnt&&j<(pag-1)*pageSize+pageSize;j++){
			//3. 循環控制輸出待顯示的內容
			/*示例
			if(name.equals(all.get(j).getWriter())){
%>
                 <a href="updateMessage.jsp?messageID=<%=all.get(j).getMessageID() %>"> 修改 </a>
                 <a href="deleteMessage.jsp?messageID=<%=all.get(j).getMessageID()%> " οnclick="return del()"> 刪除 </a>
<%				}//end if
%>
			<br>
	        <p align="center"><%=all.get(j).getContent() %></p>
	        <pre align="right">
	        <%=all.get(j).getWriter()%>
	       	<%=all.get(j).getTime()%>
	       	回覆數:<%=all.get(j).getCount() %></pre>
			*/
<%			}//end for
%>
		<!-- 底部頁碼鏈接處理,記得改jsp名字 -->
	    <form name="info" method="get" action="test.jsp">
	    <p align="center" ><%=pag %> 頁 共<%=pageCnt %>頁 共<%=rowCnt %></p>
	    <p align="center">
<%		
		if(pag>1){ 
%>
		<a href="test.jsp?page=1">首頁</a>
	    <a href="test.jsp?page=<%=(pag-1)%>">上一頁</a>
<%		} 
	    if(pageCnt>1&&pag<pageCnt){
%>
	    	<a href="test.jsp?page=<%=(pag+1)%>">下一頁</a>
	     	<a href="test.jsp?page=<%=pageCnt%>">尾頁</a>
<%		}
	    if(pageCnt>1){
%>
	     跳到第<input type="text" name="page" size="5"/><input type="submit" name="submit" size="12" value="GO"/>
<%		} 
%>
	    </p>
		</form>

運行效果:

在這裏插入圖片描述
在這裏插入圖片描述

你的點贊將會是我最大的動力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章