⑴ 有沒有什麼jsp的插件可以簡單實現分頁的或者還有什麼簡單的分頁方法
有,一個插件叫做displaytag,分頁非常的方便,和hibernate分頁效果差不多。
⑵ jsp分頁查詢中 加入一段代碼實現輸入頁碼跳轉
希望能幫到你,加油
javaBean:
publicclassWebPage{
privateintcurrentPage;//當前頁碼
privateinttotalPages;//總頁數
privateintpageShow=10;//每頁顯示數量,可以自己設置20,30,50
privateinttotalRecords;//總記錄條數
......自動生成set,get
}
servlet中方法://相信你能看得明白吧,這裡面是需要修改成你的
privatevoidtoList(HttpServletRequestrequest,HttpServletResponseresponse){
Stringkey=request.getParameter("ukey");
Useru=newUser();
WebPagewp=newWebPage();
u.setName(key);
request.setAttribute("ukey",key);
intcurrentPage=1;
if(request.getParameter("currentPage")!=null){
currentPage=Integer.parseInt(request.getParameter("currentPage"));
}
try{
intcount=newUserDaoProxy().getCount(u);
if(count==0){
currentPage=0;
}
wp.setTotalRecords(count);
inttotalPages=count%wp.getPageShow()==0?count/wp.getPageShow():count/wp.getPageShow()+1;
wp.setTotalPages(totalPages);
wp.setCurrentPage(currentPage);
intstart=(currentPage-1)*wp.getPageShow();
intend=start+wp.getPageShow();
request.setAttribute("wp",wp);
//獲取列表
List<User>list=newUserDaoProxy().getList(u,start,end);
//列表傳到頁面
request.setAttribute("ulist",list);
//跳轉頁面
request.getRequestDispatcher("/views/list.jsp").forward(request,response);
}catch(Exceptione){
e.printStackTrace();
}
}
Jsp中,JQuery:
//跳轉頁數判斷
$().ready(function(){
$("#goId").keyup(function(){
vargoValue=$(this).val();
varpages=${wp.totalPages};
if(goValue>0&&goValue<=pages){
$("#goBut").prop("disabled","");
}else{
$("#goBut").prop("disabled","disabled");
}
});
}
//頁數跳轉
functiongoPage(page){
varukey=$("input[name=ukey]").val();
window.location="${ctx}/user?flag=toList¤tPage="+page+"&ukey="+ukey;//雙引號中改成自己的url
}
Jsp頁面:
<divstyle="position:absolute;left:25%;top:80%">
<inputstyle="background-color:#66FF66;"type="button"value="首頁"onclick="goPage(1)"
<c:iftest="${wp.currentPage<=1}">disabled</c:if>
/>
<inputstyle="background-color:#00FFFF;"type="button"value="上一頁"onclick="goPage(${wp.currentPage-1})"
<c:iftest="${wp.currentPage<=1}">disabled</c:if>
/>
<inputid="goId"type="text"value="${wp.currentPage}"style="width:30px;"/>
<inputid="goBut"style="background-color:#0000FF;"type="button"value="GO"onclick="goPage(goId.value)"/>
<inputstyle="background-color:#00FFFF;"type="button"value="下一頁"onclick="goPage(${wp.currentPage+1})"
<c:iftest="${wp.currentPage>=wp.totalPages}">disabled</c:if>
/>
<inputstyle="background-color:#FF1493;"type="button"value="尾頁"onclick="goPage(${wp.totalPages})"
<c:iftest="${wp.currentPage>=wp.totalPages}">disabled</c:if>
/>
</div>
<divstyle="position:absolute;left:15%;top:85%">
共<spanstyle="color:red;font-weight:bold">${wp.totalRecords}</span>條記錄,
每頁顯示<spanstyle="color:red;font-weight:bold">${wp.pageShow}</span>條,
共<spanstyle="color:red;font-weight:bold">${wp.totalPages}</span>頁,
當前顯示第<spanstyle="color:red;font-weight:bold">${wp.currentPage}</span>頁,
第<spanstyle="color:red;font-weight:bold">
<c:iftest="${wp.totalRecords!=0}">${(wp.currentPage-1)*wp.pageShow+1}</c:if>
<c:iftest="${wp.totalRecords==0}">0</c:if>
</span>→
<spanstyle="color:red;font-weight:bold">
<c:iftest="${wp.currentPage==wp.totalPages}">${wp.totalRecords}</c:if>
<c:iftest="${wp.currentPage!=wp.totalPages}">${wp.currentPage*wp.pageShow}</c:if>
</span>條記錄
</div>
望採納!
⑶ jsp 如何將查詢結果實現分頁,最好簡單易懂…
<%@ page language="java" import="java.util.*,java.sql.ResultSet" contentType="text/html; charset=utf-8"%>
<%@page import="com..TrainingDAO"%>
<%@page import="com.db.DBUtil"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
ResultSet rs = null;
TrainingDAO = new TrainingDAO();
System.out.println("初始訪問,載入全部數據");
//查詢數據
rs = .find();
//設置每張網頁顯示三筆記錄(每頁顯示的記錄數)
int PageSize=30;
//設置欲顯示的頁數(初始頁)
int ShowPage=1;
//ResultSet的記錄筆數(總記錄數)
int RowCount=0;
//ResultSet分頁後的總數(總頁數)
int PageCount=0;
try{
//將指標移至最後一條記錄
rs.last();
//獲取記錄總數
RowCount=rs.getRow();
}catch(Exception ex){
out.print("查詢資料庫連接失敗,請稍後重試。");
}
//計算顯示的頁數(關鍵)
PageCount=((RowCount%PageSize)==0?(RowCount/PageSize):(RowCount/PageSize)+1);
String ToPage=request.getParameter("ToPage");
//判斷是否取得ToPage參數
if(ToPage!=null)
{
//取得指定顯示的分頁頁數
ShowPage=Integer.parseInt(ToPage);
//下面的語句判斷用戶輸入的頁數是否正確
if(ShowPage>=PageCount)
{
ShowPage=PageCount;
}
else if(ShowPage<=0)
{
ShowPage=1;
}
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>培訓查詢</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
.inp_text{
width:120px; height:20px; border:1px solid #004000; line-height:20px;
}
/*所有鏈接樣式*/
a:link{font-size:14px;text-decoration:none; color:#333333;}
a:visited{font-size:14px; text-decoration:none; color:#333333;}
a:active{font-size:14px; text-decoration:none; color:#FF0000;}
a:hover{font-size:14px; text-decoration:none; color:#FF0000;}
body{font-size:12px; color:#000000;}
</style>
</head>
<body>
<div align="center">
<h3>培訓信息查詢</h3>
</div>
<form action="<%=path %>/query.jsp" method="post">
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size:12px;">
<tr>
<td width="80" height="30" align="center">姓名</td>
<td><input type="text" class="inp_text" id="t_name" name="t_name" /></td>
<td width="80" align="center">會員證號</td>
<td><input type="text" class="inp_text" id="t_card" name="t_card" /></td>
<td width="80" align="center">培訓名稱</td>
<td><input type="text" class="inp_text" style="width:200px;" id="t_pxname" name="t_pxname" /></td>
</tr>
<tr>
<td height="30" align="center">事務所名稱</td>
<td><input type="text" class="inp_text" style="width:200px;" id="t_swname" name="t_swname" /></td>
<td align="center">年度</td>
<td>
<select id="t_time" name="t_time">
<option value="">-不限-</option>
<%
Calendar cal = new GregorianCalendar();
int currentYear = cal.get(Calendar.YEAR);
for(int i=0; i<20; i++){
%>
<option value="<%=currentYear %>"><%=currentYear %></option>
<%currentYear--;} %>
</select>
</td>
<td align="left" colspan="2">
<input type="submit" value="查詢" />
</td>
</tr>
</table>
</form>
<table width="800" border="1" align="center" cellpadding="4" cellspacing="0" bordercolor="#000000" style="font-size:12px; border-collapse:collapse;" >
<tr>
<th width="40" height="30" align="center">姓名</th>
<th width="30" align="center">性別</th>
<th width="30" align="center">年齡</th>
<th width="65" align="center">職務</th>
<th width="120" align="center">事務所名稱</th>
<th width="55" align="center">學歷</th>
<th width="98" align="center">會員證號</th>
<th width="30" align="center">是否通過</th>
<th width="115" align="center">培訓名稱</th>
<th width="40" align="center">培訓費</th>
<th width="30" align="center">培訓課時</th>
<th width="35" align="center">時間</th>
</tr>
<%
String pname = "";
String gender = "";
String age = "";
String post = "";
String mc = "";
String rank = "";
String member = "";
String isps = "";
String t_Name = "";
String t_money = "";
String t_times = "";
String t_year = "";
//計算欲顯示頁的第一筆記錄位置
rs.absolute((ShowPage-1)*PageSize+1);
//while(rs.next()){
for(int i=1;i<=PageSize;i++){
pname = .formatString(rs.getString("pname"));
gender = .formatString(rs.getString("gender"));
age = .formatString(rs.getString("age"));
post = .formatString(rs.getString("post"));
mc = .formatString(rs.getString("mc"));
rank = .formatString(rs.getString("rank"));
member = .formatString(rs.getString("member"));
if(rs.getString("ispass").equals("1")){
isps = "是";
}else isps ="否";
t_Name = .formatString(rs.getString("t_Name"));
t_money = .formatString(rs.getString("t_money"));
t_times = .formatString(rs.getString("t_times"));
t_year = .formatString(rs.getString("t_year"));
%>
<tr>
<td height="35" align="center"><%=pname %></td>
<td align="center"><%=gender %></td>
<td align="center"><%=age %></td>
<td align="left"><%=post %></td>
<td align="left"><%=mc %></td>
<td align="center"><%=rank %></td>
<td align="center"><%=member %></td>
<td align="center"><%=isps %></td>
<td align="left"><%=t_Name %></td>
<td align="center"><%=t_money %></td>
<td align="center"><%=t_times %></td>
<td align="center"><%=t_year %></td>
</tr>
<%
if(!rs.next())
{
//跳出for循環
break;
}
}
DBUtil.closeConnection();
%>
</table>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:22px;font-size:14px; color:#000000;">
<tr>
<td valign="top">共有<%=RowCount %>條數據,當前在第<font style="font-size:14px;" color="red"><%=ShowPage %></font>頁,共<%=PageCount %>頁</td>
<td valign="top">
<a href="loadAll.jsp?ToPage=<%=1 %>">第一頁</a>
<%
//判斷當前是否在第一頁,不是第一頁,則顯示到第一頁與下一頁的連接
if(ShowPage!=1)
{
%>
<a href="loadAll.jsp?ToPage=<%=ShowPage-1 %>">上一頁</a>
<%
}
//判斷是否在最後一頁,是,則顯示到最後一頁和下一頁
if(ShowPage!=PageCount)
{
%>
<a href="/training/loadAll.jsp?ToPage=<%=ShowPage+1 %>">下一頁</a>
<a href="/training/loadAll.jsp?ToPage=<%=PageCount %>">最後一頁</a>
<%
}
%>
</td>
<td valign="top">
<form action="loadAll.jsp" method="post" name="form1">
<input type="text" name="ToPage" value="<%=ShowPage %>" onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')" style="height:20px;width:30px">頁
<a href="javascript:window.document.form1.submit();" style=" font-weight:bold;">GO</a>
</form></td>
</tr>
</table>
</body>
</html>
⑷ java的jsp如何分頁顯示查詢結果呢
分來頁顯示一般有兩源種實現方式:業務層分頁、資料庫層分頁(以下會用到兩個參數,提前說明下 page:請求第幾頁,size:每頁顯示多少條)
業務層分頁:從資料庫取出所有數據,然後通過傳過來的page和size對所有數據截取,比如一共查了100條數據,保存在list裡面,要求查詢第2頁,每頁顯示10條,則可以通過list屬性,取100條數據 中的第11條到第20條,可通過遍歷實現。
資料庫層分頁:資料庫都會有分頁函數(mysql 是limit函數,sqlServer是row_number()函數,可自行網路下)該方法是通過傳過來的page和size在查詢資料庫時就開始分頁,以mysql為例,查詢第2頁,每頁顯示10條,則sql語句是 」select * from XX limit 10,10「(第一個10表示從下標為10開始查,第二個10是共讀取10條)
性能肯定是第二種分頁方式好,只要搞懂分頁原理,想實現分頁其實很簡單,只要搞清楚分頁是將多條數據中的某幾條挑出來
⑸ jsp分頁查詢
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>分頁顯示</title>
</head>
<body>
<center>
<h1>人員列表</h1>
<hr>
<br>
<%--
程序可以進行關鍵字查詢的分頁
--%>
<%
// 進行亂碼處理
request.setCharacterEncoding("GB2312") ;
%>
<%!
final String jspUrl = "list_person_false_06.jsp" ;
%>
<%
// 定義如下分頁變數
// 1、定義沒頁要顯示的記錄數
int lineSize = 10 ;
// 2、定義一個當前是第幾頁
int currentPage = 1 ;
// 計算出總頁數
int pageSize = 0 ;
// 總記錄數 / 每頁顯示的記錄數
int allRecorders = 30 ;
// 加入查詢關鍵字變數
String keyWord = null ;
%>
<%
// 接收查詢關鍵字
keyWord = request.getParameter("kw") ;
// 接收傳過來的當前頁
try
{
currentPage = Integer.parseInt(request.getParameter("cp")) ;
}
catch(Exception e)
{}
%>
<%
final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
final String DBURL = "jdbc:mysql://localhost/mldn" ;
final String DBUSER = "root" ;
final String DBPASSWORD = "mysqladmin" ;
Connection conn = null ;
%>
<%
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
PreparedStatement pstmt = null ;
String sql = null ;
if(keyWord==null)
{
// 如果為空則沒有查詢,表示查詢出全部
sql = "SELECT COUNT(id) from person" ;
}
else
{
sql = "SELECT COUNT(id) from person WHERE uid LIKE ? OR name LIKE ?" ;
}
pstmt = conn.prepareStatement(sql) ;
// 如果有查詢關鍵字,則進行設置
if(keyWord!=null)
{
pstmt.setString(1,"%"+keyWord+"%") ;
pstmt.setString(2,"%"+keyWord+"%") ;
}
ResultSet rs = pstmt.executeQuery() ;
if(rs.next())
{
allRecorders = rs.getInt(1) ;
}
rs.close() ;
pstmt.close() ;
// 計算總頁數
pageSize = (allRecorders+lineSize-1)/lineSize ;
if(keyWord==null)
{
sql = "SELECT id,uid,name,password FROM person" ;
}
else
{
sql = "SELECT id,uid,name,password FROM person WHERE uid LIKE ? OR name LIKE ?" ;
}
pstmt = conn.prepareStatement(sql) ;
if(keyWord!=null)
{
pstmt.setString(1,"%"+keyWord+"%") ;
pstmt.setString(2,"%"+keyWord+"%") ;
}
rs = pstmt.executeQuery() ;
%>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
// alert(cupage) ;
document.spage.submit() ;
}
function selOpenPage()
{
document.spage.cp.value = document.spage.selpage.value ;
document.spage.submit() ;
}
</script>
<form name="spage" action="<%=jspUrl%>">
輸入查詢關鍵字:<input type="text" name="kw" value="<%=keyWord==null?"":keyWord%>">
<input type="submit" value="查詢">
<%
if(allRecorders>0)
{
%>
<br>
<br>
<input type="button" value="首頁" onClick="openPage(1)" <%=currentPage==1?"disabled":""%>>
<input type="button" value="上一頁" onClick="openPage(<%=currentPage-1%>)" <%=currentPage==1?"disabled":""%>>
<input type="button" value="下一頁" onClick="openPage(<%=currentPage+1%>)" <%=currentPage==pageSize?"disabled":""%>>
<input type="button" value="尾頁" onClick="openPage(<%=pageSize%>)" <%=currentPage==pageSize?"disabled":""%>>
<input type="hidden" name="cp" value="">
<font color="red" size="5"><%=currentPage%></font>
/
<font color="red" size="5"><%=pageSize%></font>
跳轉到
<select name="selpage" onChange="selOpenPage()">
<%
for(int x=1;x<=pageSize;x++)
{
%>
<option value="<%=x%>" <%=currentPage==x?"selected":""%>><%=x%></option>
<%
}
%>
</select>
頁
<%
}
%>
</form>
<table border="1" width="80%">
<tr>
<td>編號</td>
<td>登陸名稱</td>
<td>姓名</td>
<td>密碼</td>
<td colspan="2">操作</td>
</tr>
<%
int i = 0 ;
for(int x=0;x<(currentPage-1)*lineSize;x++)
{
rs.next();
}
// 對於輸出代碼之前要求按顯示的頁數空出
for(int x=0;x<lineSize;x++)
{
if(rs.next())
{
i++ ;
int id = rs.getInt(1) ;
String userid = rs.getString(2) ;
String name = rs.getString(3) ;
String password = rs.getString(4) ;
%>
<tr>
<td><%=id%></td>
<td><%=userid%></td>
<td><%=name%></td>
<td><%=password%></td>
<td>更新</td>
<td>刪除</td>
</tr>
<%
}
}
rs.close() ;
pstmt.close() ;
if(i==0)
{
%>
<tr>
<td colspan="6">沒有任何數據!!</td>
</tr>
<%
}
%>
</table>
<%
}
catch(Exception e)
{
%>
<h2>系統出錯!!!</h2>
<%
}
finally
{
conn.close() ;
}
%>
</center>
</body>
</html>
自己看看吧,資料庫自己建咯!
⑹ 怎樣實現jsp顯示分頁 例如:查詢新聞信息時分頁顯示
jsp分頁方式有,真分頁和假分頁。
假分頁,將需要展示的數據從資料庫一次全部查出,然後在伺服器端、或者前台分頁。
真分頁,只將本頁展示的數據從資料庫中查出,然後顯示在前台。
假分頁,很少適用。一般的系統都採用真分頁。
真分頁需要資料庫的支持。
MySQL 資料庫
select * from Table limit startrow perpagesize
Oracle資料庫
Select * from
(
select a.*, rownum rc
from
(select * FROM Table order by Table_id asc) a where rownum <=endrow
) b where rc >=startrow
DB2資料庫
select * from ( select rownumer() over() as rc, a.*
from (select * from Table order by Table_id asc) ) as a ) where rc between startrow and endrow
⑺ jsp中如何實現分頁顯示
以前用jsp做過復分頁,給你制分析一下主要思路:
1.變數的設置:
分頁中涉及的變數主要有 總頁數,每頁顯示的記錄數,當前頁數,總記錄數
總頁數=總記錄數%每頁顯示的記錄數==0?總記錄數/每頁顯示的記錄數:總記錄數/每頁顯示的記錄數+1
2.查詢語句的設計:
sqlServer,mySql中一般採用top分頁
select top 每頁顯示的記錄數 from Table where 主鍵列 not in (select top (當前頁數-1)*每頁顯示的記錄數 主鍵列 from Table)
oracle一般藉助偽列來分頁
3.按鈕可用不可用問題
當前頁為第一頁時灰掉上一頁,當前頁為最後一頁時灰掉下一頁,其他類似! 至於樣式就看個人喜好了!
⑻ jsp中如何分頁顯示查詢到的數據
jsp中分頁顯示查詢到的數據是通過foreach標簽控制的,一般是顯示首頁,下一頁,上一頁,尾頁這些連接項。
1、構建一個PageControl對象將分頁所涉及到的一些關鍵的"控制數據"予以封裝.
⑼ jsp分頁查詢,點擊下一頁,上一頁和下一頁的查詢內容都顯示出來了,怎麼回事
你要分頁的同時,要控制SQL查詢語句。
如以下SQL語句:
Stringsql2="selecttop"+pageLine+"*fromadminswhereadmin_nlike'"+"%"+qadmin_n+"%"+"'andadmin_namelike'"+"%"+qadmin_name+"%"+"'andadmin_n<>'"+usersi+"'andrec_idnotin(selecttop"+((intPage-1)*pageLine)+"rec_idfromadminswhereadmin_nlike'"+"%"+qadmin_n+"%"+"'andadmin_namelike'"+"%"+qadmin_name+"%"+"'andadmin_n<>'"+usersi+"'orderbyrec_iddesc)orderbyrec_iddesc";
然後對應原JSP分頁代碼是:
out.print("<center>");
if(intPageCount*pageLine<totalRec)
intPageCount++;
if(intPage>intPageCount)
intPage=intPageCount;
if(intPage<1)
intPage=1;
if(intPage<2)
out.print("首頁上一頁");
else{
out.print("<ahref='aa123.jsp?page=1'><fontcolor='#3300FF'size='2'>首頁</font></a> ");
out.print("<ahref='aa123.jsp?page="+(intPage-1)+"'><fontcolor='#3300FF'size='2'>上一頁</font></a> ");
}
if(intPage-intPageCount>=0)
out.print("下一頁尾頁");
else{
out.print("<ahref='aa123.jsp?page="+(intPage+1)+"'><fontcolor='#3300FF'size='2'>下一頁</font></a> <ahref='aa123.jsp?page="+intPageCount+"'><fontcolor='#3300FF'size='2'>尾頁</font></a> ");
}
out.print("頁次:<fontcolor=red>"+intPage+"</font>/<fontcolor=red>"+intPageCount+"</font>頁");
out.print("共<fontcolor=red>"+totalRec+"</font>條記錄<fontcolor=red>"+pageLine+"</font>條/頁");
out.print("</center>");
⑽ Java JSP分頁查詢最簡便的方法 跪求指點(JSP頁面代碼,數據訪問層代碼)
存儲過程是: 如下 use Message
go
create proc [dbo].[proc_page]
(
@pageSize int,
@pageIndex int
)
as
select top(@pageSize) *
from TBL_MESSAGE
where id not in
(
select top((@pageIndex-1)*@pageSize) id from TBL_MESSAGE order by id
)