jsp分頁完整代碼
Ⅰ 急求JSP的分頁顯示的代碼和詳細步驟
首先要定義四個變數:
int pageSize:每頁顯示多少條記錄
int pageNow:希望顯示第幾頁
int pageCount:一共有多少頁
int rowCount:一共有多少條記錄
說明:
pageSize是指定的 pageNow是用戶選擇的
rowCount是計算出來的 該計算式為
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
(技巧:
資料庫插入:
insert into 表名(欄位1,2,。。。)select 欄位1,2,...from 表名
)
查詢語句
select top pageSize欄位名列表from表名where id not in
(select top pageSize*(pageNow-1)id from 表名)
以我們前面的users表為例,顯示第二頁,該查詢語句就是:
select top 3 * from users where userId not in(select top 3 userId from users)
(select top 3 userId from users):選出這個表的前三條 前面再選三條
<h1>用戶信息列表</h1>
<%
//定義四個分頁會用到的變數
int pageSize=3;
int pageNow=1;//默認顯示第一頁
int rowCount=0;//該值從資料庫中查詢
int pageCount=0;//該值是通過pageSize和rowCount
//接受用戶希望顯示的頁數(pageNow)
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
//接收到了pageNow
pageNow=Integer.parseInt(s_pageNow);
}
//查詢得到rowCount
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;dataBaseName=System","sa","");
Statement sm=ct.createStatement();
ResultSet rs=sm.exeuteQuery("select count(*) form users ");
if(rs.next()){
rowCount=rs.getInt(1);
}
//計算pageCount
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
//查詢出需要顯示的記錄
rs=sm.exeuteQuery("select top "+pageSize
+" * from users where userId not in(select top "
+pageSize*(pageNow-1)+" userId from users) ");
%>
//顯示
<table border="1">
<tr><td>用戶ID</td><td>用戶名字</td><td>密碼</td><td>電郵</td><td>級別</td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt(1)%></td><td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td><td><%=rs.getString(4)%></td><td><%=rs.getInt(5)%></td></tr>
<%}%>
</table>
<%
//上一頁
if(pageNow!=1){
out.println("<a href=wel.jsp?pageNow="+(pageNow-1)+">上一頁</a>");
}
//顯示超鏈接
for(int i=1;i<=pageCount;i++){
out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>");
}
//下一頁
if(pageNow!=pageCount){
out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+">下一頁</a>");
}
%>
Ⅱ 求jsp分頁代碼,最好是用標簽的
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="java.util.Date,java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
</head>
<body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:student1");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=null;
int p,m,n;
int PageSize=5;//頁顯示記錄數
int RowCount=0;//總的記錄數
int PageCount=0;//總頁數
int ShowPage=1;//待顯頁碼
String sql=null;
String search_txt="";
String ToPage=request.getParameter("ToPage");
if (request.getParameter("search_txt")!=null && !(request.getParameter("search_txt").equals("")))
{
search_txt=new String(request.getParameter("search_txt").trim().getBytes("8859_1"));
}
if (search_txt!=null && !(search_txt.equals("")))
{
sql="select * from xsqk where xuhao like'%"+search_txt+"%'";
sql=sql+"or xuehao like'%"+search_txt+"%'";
sql=sql+"or xingming like'%"+search_txt+"%'";
sql=sql+"or xingbie like'%"+search_txt+"%'";
sql=sql+"or xibie like'%"+search_txt+"%'";
sql=sql+"or banji like'%"+search_txt+"%'";
sql=sql+"or mingzhu like'%"+search_txt+"%'";
sql=sql+"or jiating like'%"+search_txt+"%'";
sql=sql+"or shengfeng like'%"+search_txt+"%'";
sql=sql+"or lianxi like'%"+search_txt+"%'";
sql=sql+"order by ID";
}
else
{
sql="select * from xsqk order by xuehao";
}
rs=stmt.executeQuery(sql);
rs.last();
RowCount=rs.getRow();
PageCount=((RowCount % PageSize)==0?(RowCount/PageSize):(RowCount/PageSize)+1);
if(ToPage!=null)
{
ShowPage=Integer.parseInt(ToPage);
if(ShowPage>PageCount)
{
ShowPage=PageCount;
}
else if(ShowPage<=0)
{
ShowPage=1;
}
}
rs.absolute((ShowPage-1)*PageSize+1);
%>
<font size="6">學生成績表</font>
<%
if (search_txt!=null && !search_txt.equals(""))
{
%>
以下是包含關鍵字<font size="6" color="#FF0000"><%=search_txt%></font>的所有信息
<%
}
else
{
%>
以下所有信息
<%
}
%>
共<font color="#FF0000"><%=RowCount %></font>條
共<font color="#FF0000"><%=PageCount%></font>頁
當前頁為第<font color="#FF0000"><%=ShowPage%></font>頁
<%
if(PageCount>1)
{
if(ShowPage-3>0)
{
m=ShowPage-3;
}
else
{
m=1;
}
if(ShowPage+3>PageCount)
{
n=ShowPage+3;
}
else
{
n=PageCount;
}
%>
轉到頁碼:[
<%
for(p=m;p<=n;p++)
{
if(ShowPage==p)
{
%>
<font color="#0000FF"><b><%=p%></b></font>
<%
}
else
{
%>
<a
<%
if(ShowPage==p)
{
%>
style="color:red"
<%
}
%>
href="fenye.jsp?ToPage=<%=p%>&search_txt<%=search_txt%>"><%=p%></a>
<%
}
}
%>
]
<%
}
%>
<table align=center border=1 width=900>
<tr align=center>
<td>序號</td>
<td>學號</td>
<td>姓名</td>
<td>性別</td>
<td>系別</td>
<td>班級</td>
<td>民族</td>
<td>家庭住址</td>
<td>身份證號</td>
<td>聯系電話</td>
</tr>
<%
for(int i=1;i<PageSize;i++)
{
out.println("<tr align=center>");
out.println("<td>"+rs.getString("xuhao")+"</td>");
out.println("<td>"+rs.getString("xuehao")+"</td>");
out.println("<td>"+rs.getString("xingming")+"</td>");
out.println("<td>"+rs.getString("xingbie")+"</td>");
out.println("<td>"+rs.getString("xibie")+"</td>");
out.println("<td>"+rs.getString("banji")+"</td>");
out.println("<td>"+rs.getString("mingzhu")+"</td>");
out.println("<td>"+rs.getString("jiating")+"</td>");
out.println("<td>"+rs.getString("shengfeng")+"</td>");
out.println("<td>"+rs.getString("lianxi")+"</td>");
out.println("</tr>");
if(!rs.next()) break;
}
%>
</table>
<table border="0" width="900">
<tr valign="baseline" align="center">
<td width="500"></td>
<%
if(ShowPage!=1)
{
%>
<td width="50"><a href="fenye.jsp?ToPage=<%=1 %>&search_txt<%=search_txt%>">第一頁 </a></td>
<td><a href="fenye.jsp?ToPage=<%=ShowPage-1 %>&search_txt<%=search_txt%>">上一頁</a></td>
<%
}
if(ShowPage!=PageCount)
{
%>
<td width="50"><a href="fenye.jsp?ToPage=<%=ShowPage+1 %>&search_txt<%=search_txt%>">下一頁</a></td>
<td><a href="fenye.jsp?ToPage=<%=PageCount %>&search_txt<%=search_txt%>">最後頁</a></td>
<%
}
%>
<form action="fenye.jsp" method="post">
信息關鍵字搜索:
<input type="text" name="search_txt" size="17" value="<%=search_txt%>">
<input type="submit" value="搜索" name="B1">
</form>
<%
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
out.println(e.toString());
}
%>
</body>
</html>
Ⅲ jsp分頁代碼
有兩種思路:
1.查詢資料庫時就把所有的查詢結果作為一個結果集返回到頁面,然後在頁面級進行分頁,取若干條作為一頁呈現出來,換頁時就是取結果集中的下一批數據。
在結果集記錄很多的時候不適用。
2.在資料庫查詢時就加上分頁限制,例如頁面大小為20(即每頁顯示20條),當前查詢的是第1頁,那麼查資料庫的時候SQL語句就限定查詢記錄數為1到20行。類似,頁面翻頁到第2頁,其實就是查詢第21到40條記錄。關於如何限定查詢記錄數量,各種資料庫寫法不一樣,有的用top(例如SQL Server),有的用limit(例如MySQL),有的用rownum(例如Oracle),這種查查資料就知道了。
Ⅳ JSP中, 怎樣實現分頁功能(代碼)
分頁顯示是web資料庫應用中經常需要遇到的問題,當用戶的資料庫查詢結果遠遠超過了計算機屏幕的顯示能力的時候,我們該如何合理的將數據呈現給用戶呢?答案就是資料庫分頁顯示,可以完美的解決上述問題.下面是一個資料庫分頁操作的通用實例,對任何資料庫平台上的分頁功能都有很好的借鑒意義. 【推薦閱讀:項目要用到的主要源代碼 】
//變數聲明 【擴展信息:J2ME學習筆記(三) 】
<%
java.sql.connection sqlcon; //資料庫連接對象
java.sql.statement sqlstmt; //sql語句對象
java.sql.resultset sqlrst; //結果集對象
java.lang.string strcon; //資料庫連接字元串
java.lang.string strsql; //sql語句
int intpagesize; //一頁顯示的記錄數
int introwcount; //記錄總數
int intpagecount; //總頁數
int intpage; //待顯示頁碼
java.lang.string strpage;
int i;
//設置一頁顯示的記錄數
intpagesize = 2;
//取得待顯示頁碼
strpage = request.getparameter("page");
if(strpage==null){//表明在querystring中沒有page這一個參數,此時顯示第一頁數據
intpage = 1;
}
else{//將字元串轉換成整型
intpage = java.lang.integer.parseint(strpage);
if(intpage<1) intpage = 1;
}
Ⅳ 在一個jsp頁面分頁的寫法!!!!不錯
用jquery實現吧,你這個明顯是局部刷新,只用jsp(全局刷新)不行,需要ajax。自己寫ajax代碼太麻煩,用jquery簡單。
你網路一下:Jquery滑鼠滾動到頁面底部自動載入更多內容,使用分頁
這個例子很清晰
Ⅵ 「jsp實現文本分頁顯示」的代碼 急求!!!
這里有分頁顯示的代碼。我自己做的,可能不是很全。
<%
String query_type=request.getParameter("select");//獲取查詢類別
if(query_type!=null)
query_type=(new String(query_type.getBytes("ISO-8859-1"))).trim();
System.out.println(query_type);
String query_content=request.getParameter("query");//獲取查詢關鍵字,查詢為模糊查詢
if(query_content==null)
query_content="";
System.out.println("query");
query_content=(new String(query_content.getBytes("ISO-8859-1"))).trim();
if(!query_content.equals("")&&query_type!=null){
if(query_type.equals("編號")){
odbcQuery="Select * from Member where number ='"+query_content+"'";
}
else
odbcQuery="Select * from Member where name like'"+query_content+"%'";
}
else
odbcQuery="Select * from Member";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){e.printStackTrace();}
try{
System.out.println(odbcQuery);
Connection con=DriverManager.getConnection("jdbc:odbc:War3","sa","123456");
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=sql.executeQuery(odbcQuery);
System.out.println(rs.next());
rs.last();
int lastRow = rs.getRow();//獲取最後一行的方法
pageCount = (lastRow%pageSize == 0 )?(lastRow/pageSize):(lastRow/pageSize+1);
int showPage =1 ;//當前頁碼的值
%
Ⅶ 求助jsp分頁代碼!文章內容太長用jsp!!誰有現成代碼,急用!!謝謝幫忙!!
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" import="java.sql.*" %>
<script language="javascript">
function newwin(url) {
var
newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=yes,resizable=yes,width=600,height=450");
newwin.focus();
return false;
}
</script>
<script LANGUAGE="javascript">
function submit10()
{
self.location.replace("fenye1.jsp")
}
</script>
<%//變數聲明
java.sql.Connection sqlCon; //資料庫連接對象
java.sql.Statement sqlStmt; //SQL語句對象
java.sql.ResultSet sqlRst; //結果集對象
java.lang.String strCon; //資料庫連接字元串
java.lang.String strSQL; //SQL語句
int intPageSize; //一頁顯示的記錄數
int intRowCount; //記錄總數
int intPageCount; //總頁數
int intPage; //待顯示頁碼
java.lang.String strPage;
int i;
//設置一頁顯示的記錄數
intPageSize = 4;
//取得待顯示頁碼
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據
intPage = 1;
}
else{//將字元串轉換成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//裝載JDBC驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//設置資料庫連接字元串
strCon = "jdbc:odbc:heyang";
//連接資料庫
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
//創建一個可以滾動的只讀的SQL語句對象
sqlStmt =
sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.Result
Set.CONCUR_READ_ONLY);//准備SQL語句
strSQL = "select user_id,user_name from userinfo order by user_id desc";
//執行SQL語句並獲取結果集
sqlRst = sqlStmt.executeQuery(strSQL);
//獲取記錄總數
sqlRst.last();//??游標在最後一行
intRowCount = sqlRst.getRow();//獲得當前行號
//記算總頁數
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//調整待顯示的頁碼
if(intPage>intPageCount) intPage = intPageCount;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>會員管理</title>
</head>
<body>
<form method="POST" action="fenye1.jsp">
第<%=intPage%>頁 共<%=intPageCount%>頁
<%if(intPage<intPageCount){%><a
href="fenye1.jsp?page=<%=intPage+1%>">下一頁
</a><%}%> <%if(intPage>1){%><a href="fenye1.jsp?page=<%=intPage-1%>">
上一頁</a><%}%>
轉到第:<input type="text" name="page" size="8"> 頁
<span><input class=buttonface type=´submit´ value=´GO´ name=´cndok´></span>
</form>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>ID</th>
<th>用戶名</th>
<th width=´8%´>刪除</th>
</tr>
<%
if(intPageCount>0){
//將記錄指針定位到待顯示頁的第一條記錄上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//顯示數據
i = 0;
String user_id,user_name;
while(i<intPageSize && !sqlRst.isAfterLast()){
user_id=sqlRst.getString(1);
user_name=sqlRst.getString(2);
%>
<tr>
<td><%=user_id%></td>
<td><%=user_name%></td>
<td width=´8%´ align=´center´><a href="delete.jsp?user_id=<%=user_id%>"
onClick="return newwin(this.href);">刪除</a></td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>
</table>
</body>
</html>
<%
//關閉結果集
sqlRst.close();
//關閉SQL語句對象
sqlStmt.close();
//關閉資料庫
sqlCon.close();
%>
Ⅷ JSP分頁怎麼實現
可以把要從資料庫里查詢出的數據條數用sql語句寫出來。
int rowBegin=0;
if(page>1)
rowBegin=10*(page-1); 10就是你要顯示的行數
String sql="select top 10 * from table where id not in(select top+"+rowBegin+" id from table )";
按下頁時直接傳參就可以了
Ⅸ mysql+jsp+servlet分頁完整代碼。分頁效果如下
Hibernate做的,希望對你有些幫助!
public class PageDao extends HibernateDaoSupport{
public List findByPage(int showpage,int number){
Session session=super.getSession();
session.beginTransaction();
Query query=session.createQuery("from Page").setFirstResult(number*(showpage-1)).setMaxResults(number);
List list=query.list();
session.getTransaction().commit();
super.releaseSession(session);
return list;
}
public int findAllPageCount(int number){
Session session=super.getSession();
session.beginTransaction();
Query query=session.createQuery("from Page");
int page = query.list().size()/number+1;
session.getTransaction().commit();
super.releaseSession(session);
return page;
}
}
請參考