导航:首页 > 编程语言 > jsp分页查询控件

jsp分页查询控件

发布时间:2021-10-25 03:12:14

⑴ 有没有什么jsp的插件可以简单实现分页的或者还有什么简单的分页方法

有,一个插件叫做displaytag,分页非常的方便,和hibernate分页效果差不多。

⑵ jsp分页查询中 加入一段代码实现输入页码跳转

希望能帮到你,加油

publicclassWebPage{


privateintcurrentPage;//当前页码


privateinttotalPages;//总页数


privateintpageShow=10;//每页显示数量,可以自己设置20,30,50

privateinttotalRecords;//总记录条数


......自动生成set,get

}



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();

}

}

//跳转页数判断

$().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&currentPage="+page+"&ukey="+ukey;//双引号中改成自己的url

}

<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>&nbsp;");
out.print("<ahref='aa123.jsp?page="+(intPage-1)+"'><fontcolor='#3300FF'size='2'>上一页</font></a>&nbsp;");
}
if(intPage-intPageCount>=0)
out.print("下一页尾页");
else{
out.print("<ahref='aa123.jsp?page="+(intPage+1)+"'><fontcolor='#3300FF'size='2'>下一页</font></a>&nbsp;<ahref='aa123.jsp?page="+intPageCount+"'><fontcolor='#3300FF'size='2'>尾页</font></a>&nbsp;");
}
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
)

阅读全文

与jsp分页查询控件相关的资料

热点内容
周香允李采潭 浏览:209
欧美电影胸 浏览:139
工商登记app怎么下载 浏览:760
javasocketqq 浏览:227
国产越战电影 浏览:627
u盘里的文件怎么解压到桌面 浏览:737
神经网络异或问题 浏览:276
韩国伦理片电影免费观看国语版 浏览:67
水针工艺流程图cad源文件 浏览:812
iphone5频率 浏览:326
计算机网络技术出来做什么工作 浏览:733
少儿编程有什么区别 浏览:780
建设网站只有网页怎么办 浏览:219
穿越长征之红星战将txt 浏览:560
无法返回桌面怎么找桌面的文件 浏览:527
刀库650怎么编程 浏览:387
福安电影院今日电影 浏览:816
韩国古装电影推荐 浏览:808
穿越成李世民的孙子 浏览:508
hai chi tai bao chung 浏览:553

友情链接