緊接著上篇—分頁技術原理與實現之Java+Oracle代碼實現分頁(二) ,本篇繼續分析分頁技術。上篇講的是分頁技術的代碼實現,這篇繼續分析一下分頁技術的效果控制。
上篇已經用代碼簡單的實現了一個分頁。但是我們都看到,代碼中每次通過servlet請求取得結果集后,都會轉向到一個jsp頁面顯示結果,這樣每次查詢頁面都會刷新一下,比如查詢出現結果集后要查看第三頁,頁面就會刷新一下。這樣頁面給人的效果感覺就會有點不舒服,所以我們希望能夠在通過條件查詢結果集后無論訪問哪一頁,頁面都不會刷新,而只是結果集變化。要解決這個,我想大家很容易就會想到Ajax了。
是啊,這就要請Ajax出山了。當通過查詢條件查詢到結果集后,以后每次訪問任何一頁都通過Ajax來訪問,使用異步Ajax與Servlet進行交互,將結果查詢出來返回給Ajax,這樣頁面內容因為Ajax返回結果而改變,而頁面卻不會刷新,這就實現了無刷新的分頁技術。
下面我們來看一個簡單的無刷新分頁實現,代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="../lib/jquery_pagination/pagination.css" mce_href="lib/jquery_pagination/pagination.css" /> <mce:script type="text/<a class='replace_word' title="JavaScript知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>JavaScript</a>" src="../lib/<a class='replace_word' title="jQuery知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>jQuery</a>/jquery.min.js" mce_src="lib/jquery/jquery.min.js"></mce:script> <mce:script type="text/javascript" src="../lib/jquery_pagination/jquery.pagination.js"></mce:script> <mce:script type="text/javascript"><!-- /** * Callback function that displays the content. * * Gets called every time the user clicks on a pagination link. * * @param {int}page_index New Page index * @param {jQuery} jq the <a class='replace_word' title="Docker知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>Container</a> with the pagination links as a jQuery object */ function pageselectCallback(page_index, jq) { var new_content = $('#hiddenresult div.result:eq(' + page_index + ')') .clone(); $('#Searchresult').empty().append(new_content); return false; } function initPagination() { var num_entries = $('#hiddenresult div.result').length; // Create pagination element $("#Pagination").pagination(num_entries, { num_edge_entries : 2, num_display_entries : 8, callback : pageselectCallback, items_per_page : 1 }); } // When the HTML has loaded, call initPagination to paginate the elements $(document).ready(function() { initPagination(); });// --></mce:script> <mce:style type="text/css"><!--* { padding: 0; margin: 0;}body { background-color: #fff; margin: 20px; padding: 0; height: 100%; font-family: Arial, Helvetica, sans-serif;}#Searchresult { margin-top: 15px; margin-bottom: 15px; border: solid 1px #eef; padding: 5px; background: #eef; width: 40%;}#Searchresult p { margin-bottom: 1.4em;}--></mce:style><style type="text/css" mce_bogus="1">* { padding: 0; margin: 0;}body { background-color: #fff; margin: 20px; padding: 0; height: 100%; font-family: Arial, Helvetica, sans-serif;}#Searchresult { margin-top: 15px; margin-bottom: 15px; border: solid 1px #eef; padding: 5px; background: #eef; width: 40%;}#Searchresult p { margin-bottom: 1.4em;}</style> <title>Pagination</title> </head> <body> <h4> jQuery Pagination Plugin Demo </h4> <div id="Pagination" class="pagination"> </div> <br style="clear: both;" mce_style="clear: both;" /> <div id="Searchresult"> This content will be replaced when pagination inits. </div> <div id="hiddenresult" style="display: none;" mce_style="display: none;"> <div class="result"> <p> Globally maximize granular "outside the box" thinking vis-a-vis quality niches. Proactively formulate 24/7 results whereas 2.0 catalysts for change. Professionally implement 24/365 niches rather than client-focused users. </p> <p> Competently engineer high-payoff "outside the box" thinking through cross functional benefits. Proactively transition intermandated processes through open-source niches. Progressively engage maintainable innovation and extensible interfaces. </p> </div> <div class="result"> <p> Credibly fabricate e-business models for end-to-end niches. Compellingly disseminate integrated e-markets without ubiquitous services. Credibly create equity invested channels with multidisciplinary human capital. </p> <p> Interactively integrate competitive users rather than fully tested infomediaries. Seamlessly initiate premium functionalities rather than impactful architectures. Rapidiously leverage existing resource-leveling processes via user-centric portals. </p> </div> <div class="result"> <p> Monotonectally initiate unique e-services vis-a-vis client-centric deliverables. Quickly impact parallel opportunities with B2B bandwidth. Synergistically streamline client-focused infrastructures rather than B2C e-commerce. </p> <p> Phosfluorescently fabricate 24/365 e-business through 24/365 total linkage. Completely facilitate high-quality systems without stand-alone strategic theme areas. </p> </div> </div> </body></html>
新聞熱點
疑難解答
圖片精選