javajsp分頁(yè)代碼 java做分頁(yè)

今天要寫一個(gè)java分頁(yè)的頁(yè)面,jsp頁(yè)面需要傳三個(gè)參數(shù)beginpage 和 endpage和當(dāng)前的頁(yè)數(shù)nowpage給action

nowpage 默認(rèn)是 request 作用范圍的 在作為 servlet類里 應(yīng)該 request.setRequest("nowpage",相應(yīng)大變量);

朝陽(yáng)縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

jsp 如何將查詢結(jié)果實(shí)現(xiàn)分頁(yè),最好簡(jiǎn)單易懂…

jsp中分頁(yè)最快捷的辦法是用分頁(yè)組件:

分頁(yè)組件代碼使用taglib實(shí)現(xiàn)的:

%@ tag language="java" pageEncoding="UTF-8"%

%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%

%@ attribute name="curIndex" type="java.lang.Long" required="true"%

%@ attribute name="pageSize" type="java.lang.Long" required="true"%

%@ attribute name="pagerRange" type="java.lang.Long" required="true"%

%@ attribute name="totalPage" type="java.lang.Long" required="true"%

%@ attribute name="formId" type="java.lang.String" required="true"%

%

long begin = Math.max(1, curIndex - pagerRange/2);

long end = Math.min(begin + (pagerRange-1),totalPage);

request.setAttribute("p_begin", begin);

request.setAttribute("p_end", end);

%

table class="pager"

tr

% if (curIndex!=1){%

tda href="javascript:gotoPage(1)"首頁(yè)/a/td

tda href="javascript:gotoPage(%=curIndex-1%)"上一頁(yè)/a/td

%}else{%

td class="disabled"a href="#"首頁(yè)/a/td

td class="disabled"a href="#"上一頁(yè)/a/td

%}%

c:forEach var="i" begin="${p_begin}" end="${p_end}"

c:choose

c:when test="${i == curIndex}"

td class="active"a href="#"${i}/a/td

/c:when

c:otherwise

tda href="javascript:gotoPage(${i})"${i}/a/td

/c:otherwise

/c:choose

/c:forEach

% if (curIndex!=totalPage){%

tda href="#"下一頁(yè)/a/td

tda href="#"末頁(yè)/a/td

%}else{%

td class="disabled"a href="javascript:gotoPage(%=curIndex+1%)"下一頁(yè)/a/td

td class="disabled"a href="javascript:gotoPage(%=totalPage%)"末頁(yè)/a/td

%}%

tda共${totalPage}頁(yè)/a/td

td class="input_li"跳轉(zhuǎn)到:input type="text" id="p_pageIndex" size="2" value="c:out value="${pageIndex}"/"/頁(yè) input type="button" id="gotoBtn" onclick="gotoPageByBtn()" value="GO"http://td

td class="input_li" 每頁(yè):

select id="p_pageSizeSelect" onchange="gotoPage(%=curIndex%)"

option value="10" c:if test="${pageSize==10}"selected/c:if10條/option

option value="20" c:if test="${pageSize==20}"selected/c:if20條/option

option value="50" c:if test="${pageSize==50}"selected/c:if50條/option

/select

/td

/tr

/table

jsp中使用方法:

%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%

%@ taglib uri="/WEB-INF/tld/fmt.tld" prefix="fmt"%

%@ taglib tagdir="/WEB-INF/tags" prefix="tags"%

head

style!--分頁(yè)樣式--

.pager { font: 12px Arial, Helvetica, sans-serif;}

.pager a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px;line-height:30px;vertical-align:middle;}

.pager .active a{color:red;border:none;}

.pager a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}

.pager a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}

.pager .input_li{padding: 1px 6px;}

/style

script!--分頁(yè)跳轉(zhuǎn)腳本--

function gotoPage(pageIndex){

var queryForm = document.getElementById("queryForm");

var action = queryForm.action;

var pageSize = document.getElementById("p_pageSizeSelect").value;

action += "?pageIndex=" + pageIndex + "pageSize=" + pageSize;

//alert(action);

queryForm.action = action;

queryForm.submit();

}

function gotoPageByBtn(){

var pageIndex = document.getElementById("p_pageIndex").value;

var pageIndexInt = parseInt(pageIndex);

var totalPage = ${totalPage};

if(pageIndexInt0 pageIndexInttotalPage){

gotoPage(pageIndex);

}

else{

alert("輸入頁(yè)數(shù)超出范圍!");

}

}

/script

/head

body

form id="queryForm" action="${basePath}/log/list" method="post"

table

tr

td用戶名:/td

tdinput type="text" name="userName" value="c:out value="${userName}"/"/ /td

tdinput type="submit" text="查詢"http://td

/tr

/table

/form

tags:pager pagerRange="10" pageSize="${pageSize}" totalPage="${totalPage}" curIndex="${pageIndex}" formId="queryForm"/tags:pager

table class="border"

thead

tr

th width="100"用戶名稱/th

th width="500"操作內(nèi)容/th

th width="200"操作時(shí)間/th

/tr

/thead

tbody

c:forEach items="${logList}" var="log"

tr

td${log.userName}/td

td${log.result}/td

td

fmt:formatDate value="${log.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/

/td

/tr

/c:forEach

/tbody

/table

tags:pager pagerRange="10" pageSize="${pageSize}" totalPage="${totalPage}" curIndex="${pageIndex}" formId="queryForm"/tags:pager

/body

java中用struts如何使用Page類實(shí)現(xiàn)在頁(yè)面分頁(yè),并且在jsp頁(yè)面中顯示,求各個(gè)類中的代碼,

page類

public class PageModel {

private int totalCount = 0;// 總記錄數(shù)

private int pageCount;// 總頁(yè)數(shù)

private int pageSize = 10;// 每頁(yè)顯示記錄數(shù)

private int page = 1;// 當(dāng)前頁(yè)

private int num = 5;// 當(dāng)前頁(yè)之前和之后顯示的頁(yè)數(shù)個(gè)數(shù) 如:假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 那么 顯示分頁(yè)條會(huì)顯示 1 2 3 4

// 5 [6] 7 8 9 10 11

@SuppressWarnings("unchecked")

private List items = new ArrayList();// 當(dāng)前頁(yè)記錄內(nèi)容集合

private int prev;// 前一頁(yè)

private int next;// 后一頁(yè)

private int last;// 最后一頁(yè)

private ListInteger prevPages;// 得到前num頁(yè)的數(shù)據(jù)集合

private ListInteger nextPages;// 得到后num頁(yè)的數(shù)據(jù)集合

/**

* 計(jì)算總頁(yè)數(shù)

*

* @param totalCount

*/

public void setTotalCount(int totalCount) {

if (totalCount 0) {

this.totalCount = totalCount;

this.pageCount = (totalCount + pageSize - 1) / pageSize;

}

}

/**

* 判斷是否有前一頁(yè)

*

* @return boolean

*/

public boolean getIsPrev() {

if (page 1) {

return true;

}

return false;

}

/**

* 獲取前一頁(yè)

*

* @return int

*/

public int getPrev() {

if (getIsPrev()) {

return page - 1;

} else {

return page;

}

}

/**

* 判斷是否有后一頁(yè)

*

* @return boolean

*/

public boolean getIsNext() {

if (page pageCount) {

return true;

}

return false;

}

/**

* 獲取后一頁(yè)

*

* @return int

*/

public int getNext() {

if (getIsNext()) {

return page + 1;

}

return getPageCount();

}

/**

* 獲取最后一頁(yè)

*

* @return int

*/

public int getLast() {

return pageCount;

}

/**

* 當(dāng)前頁(yè)的前num條頁(yè) 假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 如:1 2 3 4 5

*

* @return ListInteger

*/

public ListInteger getPrevPages() {

ListInteger list = new ArrayListInteger();

int _frontStart = 1;

if (page num) {

_frontStart = page - num;

} else if (page = num) {

_frontStart = 1;

}

for (int i = _frontStart; i page; i++) {

list.add(i);

}

return list;

}

/**

* 當(dāng)前頁(yè)的后num條頁(yè) 假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 如:7 8 9 10 11

*

* @return ListInteger

*/

public ListInteger getNextPages() {

ListInteger list = new ArrayListInteger();

int _endCount = num;

if (num pageCount (page + num) pageCount) {

_endCount = page + _endCount;

} else if ((page + num) = pageCount) {

_endCount = pageCount;

}

for (int i = page + 1; i = _endCount; i++) {

list.add(i);

}

return list;

}

/**

* 獲取每頁(yè)顯示記錄數(shù)

*

* @return int

*/

public int getPageSize() {

return pageSize;

}

/**

* 設(shè)置每頁(yè)顯示記錄數(shù)

*

* @param pageSize

*/

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

/**

* 得到當(dāng)前頁(yè)數(shù)

*

* @return int

*/

public int getPage() {

return page;

}

/**

* 設(shè)置當(dāng)前頁(yè)數(shù)

*

* @param page

*/

public void setPage(int page) {

this.page = page;

}

/**

* 獲取當(dāng)前頁(yè)之前或之后顯示的頁(yè)數(shù)個(gè)數(shù)

*

* @return int

*/

public int getNum() {

return num;

}

/**

* 設(shè)置當(dāng)前頁(yè)之前或之后顯示的頁(yè)數(shù)個(gè)數(shù)

*

* @param num

*/

public void setNum(int num) {

this.num = num;

}

/**

* 獲取當(dāng)前頁(yè)記錄內(nèi)容集合

*

* @return List

*/

@SuppressWarnings("unchecked")

public List getItems() {

return items;

}

/**

* 設(shè)置當(dāng)前頁(yè)記錄內(nèi)容集合

*

* @param items

*/

@SuppressWarnings("unchecked")

public void setItems(List items) {

this.items = items;

}

/**

* 獲取總記錄數(shù)

*

* @return int

*/

public int getTotalCount() {

return totalCount;

}

/**

* 得到總頁(yè)數(shù)

*

* @return int

*/

public int getPageCount() {

return pageCount;

}

}

action代碼:

PageModel pageModel = new PageModel();

// 獲得當(dāng)前頁(yè)

if (page != 0) {

pageModel.setPage(page);

}

pageModel.setPageSize(10);// 設(shè)置頁(yè)面顯示最大 值

pageModel.setTotalCount(baseDAO.listAll("from Art where arttype.id=10 and mark=0 order by id desc")); // 數(shù)據(jù)總條數(shù)

pageModel.setNum(5); // 設(shè)置當(dāng)前頁(yè)的前后距離,/**前后各顯示5頁(yè)**/

// 通過當(dāng)前頁(yè)和

ListArt aboutList = baseDAO.listAll("from Art where arttype.id=10 and mark=0 order by id desc", pageModel.getPage(),pageModel.getPageSize());

pageModel.setItems(aboutList);

request.setAttribute("count", aboutList.size());// 放置在request中

request.setAttribute("pageModel", pageModel);

request.setAttribute("page", pageModel.getPage());

jsp代碼

c:forEach var = "i" items="${requestScope.pageModel.items}" varStatus="items"

li/li

/c:forEach

div class="badoo"span class="disabled"第${pageModel.page}頁(yè)/共${pageModel.pageCount}頁(yè)/span a href="${pageuri}page=1"首頁(yè)/a

c:if test="${pageModel.page1}"

a href="${pageuri}page=${pageModel.prev}"上一頁(yè)/a

/c:if

c:forEach var="pre" items="${pageModel.prevPages }"

a href="${pageuri}page=${pre }"${pre}/a

/c:forEach

span class="current"${pageModel.page }/span

c:forEach var="next" items="${pageModel.nextPages }"

a href="${pageuri}page=${next }"${next}/a

/c:forEach

c:if test="${pageModel.pagepageModel.last}"

a href="${pageuri}page=${pageModel.next}"下一頁(yè)/a

/c:if

a href="${pageuri}page=${pageModel.last}"尾頁(yè)/a/div

如有不懂可以找我QQ聊

jsp如何用c標(biāo)簽實(shí)現(xiàn)分頁(yè)

jsp用c標(biāo)簽實(shí)現(xiàn)分頁(yè)的方式如下:

%@?tag?language="java"?pageEncoding="UTF-8"%

%@?taglib?uri="/WEB-INF/tld/c.tld"?prefix="c"%

%@?attribute?name="curIndex"?type="java.lang.Long"?required="true"%

%@?attribute?name="pageSize"?type="java.lang.Long"?required="true"%

%@?attribute?name="pagerRange"?type="java.lang.Long"?required="true"%

%@?attribute?name="totalPage"?type="java.lang.Long"?required="true"%

%@?attribute?name="formId"?type="java.lang.String"?required="true"%

%

long?begin?=?Math.max(1,?curIndex?-?pagerRange/2);

long?end?=?Math.min(begin?+?(pagerRange-1),totalPage);

request.setAttribute("p_begin",?begin);

request.setAttribute("p_end",?end);

%

table?class="pager"

tr

?%?if?(curIndex!=1){%

tda?href="javascript:gotoPage(1)"首頁(yè)/a/td

tda?href="javascript:gotoPage(%=curIndex-1%)"上一頁(yè)/a/td

%}else{%

td?class="disabled"a?href="#"首頁(yè)/a/td

td?class="disabled"a?href="#"上一頁(yè)/a/td

%}%

c:forEach?var="i"?begin="${p_begin}"?end="${p_end}"

c:choose

c:when?test="${i?==?curIndex}"

td?class="active"a?href="#"${i}/a/td

/c:when

c:otherwise

tda?href="javascript:gotoPage(${i})"${i}/a/td

/c:otherwise

/c:choose

/c:forEach

?? ?%?if?(curIndex!=totalPage){%

tda?href="#"下一頁(yè)/a/td

tda?href="#"末頁(yè)/a/td

%}else{%

td?class="disabled"a?href="javascript:gotoPage(%=curIndex+1%)"下一頁(yè)/a/td

td?class="disabled"a?href="javascript:gotoPage(%=totalPage%)"末頁(yè)/a/td

%}%

tda共${totalPage}頁(yè)/a/td

td?class="input_li"跳轉(zhuǎn)到:input?type="text"?id="p_pageIndex"?size="2"?value="c:out?value="${pageIndex}"/"/頁(yè)?input?type="button"?id="gotoBtn"?onclick="gotoPageByBtn()"?value="GO"http://td

?td?class="input_li"nbsp;每頁(yè):

?select?id="p_pageSizeSelect"?onchange="gotoPage(%=curIndex%)"

? option?value="10"?c:if?test="${pageSize==10}"selected/c:if10條/option

? option?value="20"?c:if?test="${pageSize==20}"selected/c:if20條/option

? option?value="50"?c:if?test="${pageSize==50}"selected/c:if50條/option

?/select

?/td

/tr

/table

控制分頁(yè)的代碼如下

%@?taglib?uri="/WEB-INF/tld/c.tld"?prefix="c"%

%@?taglib?uri="/WEB-INF/tld/fmt.tld"?prefix="fmt"%

%@?taglib?tagdir="/WEB-INF/tags"?prefix="tags"%

head

style!--分頁(yè)樣式--

.pager?{?font:?12px?Arial,?Helvetica,?sans-serif;}

.pager?a?{padding:?1px?6px;?border:?solid?1px?#ddd;?background:?#fff;?text-decoration:?none;margin-right:2px;line-height:30px;vertical-align:middle;}

.pager?.active?a{color:red;border:none;}

.pager?a:visited?{padding:?1px?6px;?border:?solid?1px?#ddd;?background:?#fff;?text-decoration:?none;}

.pager?a:hover?{color:?#fff;?background:?#ffa501;border-color:#ffa501;text-decoration:?none;}

.pager?.input_li{padding:?1px?6px;}

/style

script!--分頁(yè)跳轉(zhuǎn)腳本--

function?gotoPage(pageIndex){

var?queryForm?=?document.getElementById("queryForm");

var?action?=?queryForm.action;

var?pageSize?=?document.getElementById("p_pageSizeSelect").value;

action?+=?"?pageIndex="?+?pageIndex?+?"pageSize="?+?pageSize;

//alert(action);

queryForm.action?=?action;

queryForm.submit();

}

function?gotoPageByBtn(){

var?pageIndex?=?document.getElementById("p_pageIndex").value;

var?pageIndexInt?=?parseInt(pageIndex);

var?totalPage?=?${totalPage};

if(pageIndexInt0??pageIndexInttotalPage){

gotoPage(pageIndex);

}

else{

alert("輸入頁(yè)數(shù)超出范圍!");

}

}

/script

/head

body

form?id="queryForm"?action="${basePath}/log/list"?method="post"

table

tr

td用戶名:/td

tdinput?type="text"?name="userName"?value="c:out?value="${userName}"/"/nbsp;/td

tdinput?type="submit"?text="查詢"http://td

/tr

/table

/form

tags:pager?pagerRange="10"?pageSize="${pageSize}"?totalPage="${totalPage}"?curIndex="${pageIndex}"?formId="queryForm"/tags:pager

table?class="border"

thead

tr

th?width="100"用戶名稱/th

th?width="500"操作內(nèi)容/th

th?width="200"操作時(shí)間/th

/tr

/thead

tbody

c:forEach?items="${logList}"?var="log"

tr

td${log.userName}/td

td${log.result}/td

td

fmt:formatDate?value="${log.createTime}"?pattern="yyyy-MM-dd?HH:mm:ss"/

/td

/tr

/c:forEach

/tbody

/table

tags:pager?pagerRange="10"?pageSize="${pageSize}"?totalPage="${totalPage}"?curIndex="${pageIndex}"?formId="queryForm"/tags:pager

/body

網(wǎng)站欄目:javajsp分頁(yè)代碼 java做分頁(yè)
文章鏈接:http://muchs.cn/article6/ddcjsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站ChatGPT、動(dòng)態(tài)網(wǎng)站、定制開發(fā)網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名