亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

純JSP分頁(yè)代碼之sqlserver2005/2008

系統(tǒng) 3092 0

昨天看到一篇《 純JSP分頁(yè)代碼 》的文章,是用于mysql,稍微修改下,用于Sqlserver2005/2008,沒(méi)有異常處理。沒(méi)有考慮性能等。

現(xiàn)將代碼貼出,以供初學(xué)者參考:

注:邀月使用環(huán)境Eclipse 3.4.2+Tomcat 6.18+Sqlserver2005 sp3調(diào)試成功。

頁(yè)面pagelistDemo.jsp內(nèi)容:


<!-- {cps..0}--> <% @pagelanguage = " java " contentType = " text/html;charset=UTF-8 "
pageEncoding
= " UTF-8 " %>
<%
// 連接字符串
Stringurl = " jdbc:sqlserver:// " + Globals.Server
+ " ;databaseName= " + Globals.DbName;
Class.forName(Globals.driverName).newInstance();
Connectionconnection
= DriverManager.getConnection(url,
Globals.username,Globals.pwd);
Statementstatement
= connection.createStatement();

// 每頁(yè)顯示記錄數(shù)
int PageSize = 10 ;
int StartRow = 0 ; // 開(kāi)始顯示記錄的編號(hào)
int PageNo = 0 ; // 需要顯示的頁(yè)數(shù)
int CounterStart = 0 ; // 每頁(yè)頁(yè)碼的初始值
int CounterEnd = 0 ; // 顯示頁(yè)碼的最大值
int RecordCount = 0 ; // 總記錄數(shù);
int MaxPage = 0 ; // 總頁(yè)數(shù)
int PrevStart = 0 ; // 前一頁(yè)
int NextPage = 0 ; // 下一頁(yè)
int LastRec = 0 ;
int LastStartRecord = 0 ; // 最后一頁(yè)開(kāi)始顯示記錄的編號(hào)

// 獲取需要顯示的頁(yè)數(shù),由用戶提交
if (request.getParameter( " PageNo " ) == null ) { // 如果為空,則表示第1頁(yè)
if (StartRow == 0 ) {
PageNo
= StartRow + 1 ; // 設(shè)定為1
}

}
else {
PageNo
= Integer.parseInt(request.getParameter( " PageNo " )); // 獲得用戶提交的頁(yè)數(shù)
StartRow = (PageNo - 1 ) * PageSize; // 獲得開(kāi)始顯示的記錄編號(hào)
}


// 因?yàn)轱@示頁(yè)碼的數(shù)量是動(dòng)態(tài)變化的,假如總共有一百頁(yè),則不可能同時(shí)顯示100個(gè)鏈接。而是根據(jù)當(dāng)前的頁(yè)數(shù)顯示
// 一定數(shù)量的頁(yè)面鏈接

// 設(shè)置顯示頁(yè)碼的初始值!!
if (PageNo % PageSize == 0 ) {
CounterStart
= PageNo - (PageSize - 1 );
}
else {
CounterStart
= PageNo - (PageNo % PageSize) + 1 ;
}


CounterEnd
= CounterStart + (PageSize - 1 );
%>
<! DOCTYPEhtmlPUBLIC " -//W3C//DTDHTML4.01Transitional//EN " " http://www.w3.org/TR/html4/loose.dtd " >

<% @page import = " net.data.util.Globals " %>
<% @page import = " java.sql.ResultSet " %>
<% @page import = " java.sql.DriverManager " %>
<% @page import = " java.sql.Connection " %>
<% @page import = " java.sql.Statement " %>
< element >
< html >
< head >
< metahttp - equiv = " Content-Type " content = " text/html;charset=UTF-8 " >
< title > 分頁(yè)顯示記錄 </ title >
< linkrel = " stylesheet " href = " style.css " type = " text/css " >
</ head >
<%
// 獲取總記錄數(shù)
ResultSetrs = statement
.executeQuery(
" selectcount(P_ID)fromproduct " );
rs.next();
RecordCount
= rs.getInt( 1 );

// 取特定頁(yè)數(shù)的數(shù)據(jù)
StringstrColumn = " P_ID,P_Name,LoginID,modTime,P_SingleIntro " ;
StringstrTable
= " Product " ;
StringstrSort
= " p_IDdesc " ;
StringPKID
= " P_ID " ;
StringstrSql
= "" ;
StringstrWhere
= "" ;
StringSTART_ID
= Integer.toString((PageNo - 1 ) * PageSize + 1 );
StringEND_ID
= Integer.toString(PageNo * PageSize);
strSql
= " SELECT " + strColumn
+ " FROM(SELECTROW_NUMBER()OVER(ORDERBY " + strSort
+ " )ASrownum, " + strColumn + " FROM " + strTable
+ " WITH(NOLOCK) " + strWhere
+ " )ASDWHERErownumBETWEEN " + START_ID + " AND "
+ END_ID + " ORDERBY " + strSort;
rs
= statement.executeQuery(strSql);

// 獲取總頁(yè)數(shù)
MaxPage = RecordCount % PageSize;
if (RecordCount % PageSize == 0 ) {
MaxPage
= RecordCount / PageSize;
}
else {
MaxPage
= RecordCount / PageSize + 1 ;
}

%>
< body class = " UsePageBg " >
< tablewidth = " 100% " border = " 0 " class = " InternalHeader " >
< tr >
< tdwidth = " 24% " >< fontsize = 4 > 分頁(yè)顯示記錄 </ font ></ td >
< tdwidth = " 76% " >< fontsize = 4 ><%= " 總共 " + RecordCount + " 條記錄-當(dāng)前頁(yè): " + PageNo + " / "
+ MaxPage %></ font ></ td >
</ tr >
</ table >

< br >
< tablewidth = " 100% " border = " 0 " class = " NormalTableTwo " >
< tr >
< td class = " InternalHeader " > 記錄序號(hào) </ td >
< td class = " InternalHeader " > 數(shù)據(jù)標(biāo)識(shí)號(hào) </ td >
< td class = " InternalHeader " > 產(chǎn)品名稱 </ td >
< td class = " InternalHeader " > 作者 </ td >
< td class = " InternalHeader " > 提交時(shí)間 </ td >
< td class = " InternalHeader " > 簡(jiǎn)介 </ td >
</ tr >

<%
long i = 1 ;
while (rs.next()) {
long bil = i + (PageNo - 1 ) * PageSize;
%>
< tr >
< td class = " NormalFieldTwo " ><%= bil %></ td >
< td class = " NormalFieldTwo " ><%= rs.getString( 1 ) %></ td >
< td class = " NormalFieldTwo " ><%= rs.getString( 2 ) %></ td >
< td class = " NormalFieldTwo " ><%= rs.getString( 3 ) %></ td >
< td class = " NormalFieldTwo " ><%= rs.getString( 4 ) %></ td >
< td class = " NormalFieldTwo " ><%= rs.getString( 5 ) %></ td >
</ tr >
<%
i
++ ;
}

%>
</ table >
< br >
< tablewidth = " 100% " border = " 0 " class = " InternalHeader " >
< tr >
< td >
< divalign = " center " >
<%
out.print(
" <fontsize=4> " );
// 顯示第一頁(yè)或者前一頁(yè)的鏈接
// 如果當(dāng)前頁(yè)不是第1頁(yè),則顯示第一頁(yè)和前一頁(yè)的鏈接
if (PageNo != 1 ) {
PrevStart
= PageNo - 1 ;
out.print(
" <ahref=pagelistDemo.jsp?PageNo=1>第一頁(yè)</a>: " );
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + PrevStart
+ " >前一頁(yè)</a> " );
}

out.print(
" [ " );

// 打印需要顯示的頁(yè)碼
for ( int c = CounterStart;c <= CounterEnd;c ++ ) {
if (c < MaxPage) {
if (c == PageNo) {
if (c % PageSize == 0 ) {
out.print(c);
}
else {
out.print(c
+ " , " );
}

}
else if (c % PageSize == 0 ) {
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + c + " > " + c
+ " </a> " );
}
else {
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + c + " > " + c
+ " </a>, " );
}

}
else {
if (PageNo == MaxPage) {
out.print(c);
break ;
}
else {
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + c + " > " + c
+ " </a> " );
break ;
}

}

}


out.print(
" ] " );
;

if (PageNo < MaxPage) { // 如果當(dāng)前頁(yè)不是最后一頁(yè),則顯示下一頁(yè)鏈接
NextPage = PageNo + 1 ;
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + NextPage
+ " >下一頁(yè)</a> " );
}


// 同時(shí)如果當(dāng)前頁(yè)不是最后一頁(yè),要顯示最后一頁(yè)的鏈接
if (PageNo < MaxPage) {
LastRec
= RecordCount % PageSize;
if (LastRec == 0 ) {
LastStartRecord
= RecordCount - PageSize;
}
else {
LastStartRecord
= RecordCount - LastRec;
}


out.print(
" : " );
out.print(
" <ahref=pagelistDemo.jsp?PageNo= " + MaxPage
+ " >最后一頁(yè)</a> " );
}

out.print(
" </font> " );
%>
</ div >
</ td >
</ tr >
</ table >
<%
rs.close();
statement.close();
connection.close();
%>
</ body >
</ html >

用到的類文件:Globals.java


<!-- {cps..1}--> /***/ /**
*
*/

package net.data.util;

/***/ /**
*
@author Administrator
*
*/

public class Globals {
public static Stringusername = " sa " ;
public static Stringpwd = " sa " ;
public static StringDbName = " TestData " ;
// publicstaticStringServer="192.168.30.6";
public static StringServer = " 192.168.44.2:1433 " ;
public static StringPort = " 1433 " ;

public static StringdriverName = " com.microsoft.sqlserver.jdbc.SQLServerDriver " ;
// publicstaticStringconnectionURL{
//
// return"jdbc:sqlserver: // "+Server+":"+Port+";databaseName="+DbName;
// }


}

效果如圖:


純JSP分頁(yè)代碼之sqlserver2005/2008


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 人色在线视频 | 亚洲国产精品视频在线观看 | 97精品国产91久久久久久 | 久久国产精品自线拍免费 | 国产精品福利久久2020 | 国产一级毛片外aaaa | 成人免费视频一区二区三区 | 欧美久久一区二区三区 | 亚洲日本中文字幕 | 日本免费一区二区三区看片 | 久久最近最新中文字幕大全 | 青青久草 | 一区二区视频在线观看免费的 | 欧美体内she精视频毛片 | 中文精品久久久久国产不卡 | 精品视频在线观看一区二区 | 免费在线观看亚洲 | 九九365资源稳定资源站 | 香蕉视频在线免费播放 | 久一视频在线观看 | 国产99久久精品一区二区 | 九九热香蕉视频 | 欧美特黄a级高清免费大片 欧美特黄a级猛片a级 | 91在线短视频 | 欧美日本在线 | 国内精品综合九九久久精品 | 日本精品一区 | 天天视频免费入口 | 91精品国产免费久久 | 久久国产自偷自免费一区100 | 亚洲综合干 | 国产91九色在线播放 | 性生大片一级毛片免费观看 | 99re热久久资源最新获取 | 久久9966e这里只有精品 | 久久精品国产亚洲 | 成人永久福利在线观看不卡 | 草的爽免费视频 | 久久综合久久自在自线精品自 | 国内高清久久久久久久久 | 狠狠的操你 |