⑴ 有没有什么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
)