Jsp如何实现分页功能(使用MySQL数据库)?看看JSP中怎样实现分页显示

本文目录
- Jsp如何实现分页功能(使用MySQL数据库)
- 看看JSP中怎样实现分页显示
- jsp如何 实现 内容分页
- JSP中, 怎样实现分页功能(代码)
- jsp中的分页怎么写
- jsp如何用c标签实现分页
- JSP页面分页怎么做
Jsp如何实现分页功能(使用MySQL数据库)
//PageCt.java 分页的类
/*
*** @version ***********
**************************************
*/
package vod;
import java.sql.*;
import java.util.*;
public class PageCt
{
private long l_start; //开始纪录
private long l_end; //结束纪录
private long l_curpage; //当前页数
private long l_totalnum;//总记录数
private int int_num=5; //每页10条
private long l_totalpage; //总的页数
public void Init(long currentpage,long totalnum)
{
l_curpage = currentpage;
l_totalnum = totalnum;
if (currentpage>=0)
{
if (currentpage>=(long)Math.ceil((double)l_totalnum/(double)int_num))
l_curpage = (long)Math.floor((double)l_totalnum/(double)int_num);
else
l_curpage = currentpage;
}
else
{
l_curpage = 0;
}
l_start = l_curpage * int_num;
l_end = l_start + int_num;
if (l_end > l_totalnum)
l_end = l_totalnum;
l_totalpage = (long)Math.ceil((double)l_totalnum/(double)int_num);
}
public long getCurpage()
{
return l_curpage;
}
public long getPrepage()
{
if (l_curpage-1>=0)
{
return l_curpage-1;
}
else
{
return 0;
}
}
public long getNextpage()
{
if (l_curpage+1<=l_totalpage)
{
return l_curpage+1;
}
else
{
return l_totalpage;
}
}
public long getTotalnum()
{
return l_totalnum;
}
public long getTotalpage()
{
return l_totalpage;
}
public long getStart()
{
return l_start;
}
public long getEnd()
{
return l_end;
}
};
===============================================
//调用例子
<%
/*
*** @author 孤独的风筝 ***********
*** @version ***********
*** Created on :2010-08-16 14:56 **************************************
*/
<%@ page import=“java.sql.*“%>
<%@ page import=“java.lang.*“%>
<%@ page contentType=“text/html;charset=gb2312“ %>
<jsp:useBean id=“PageCount“ scope=“page“ class=“kstest.PageCt“ />
<jsp:useBean id=“sqlbean“ scope=“page“ class=“vod.sql_data“ />
<html>
<head>
<TITLE>测试</TITLE>
<STYLE>
body,table{font-size:9pt}
A:link {
COLOR: #000084; TEXT-DECORATION: none
}
A:visited {
COLOR: #000084; TEXT-DECORATION: none
}
A:hover {
COLOR: black; TEXT-DECORATION: underline
}
.ourfont {
FONT-SIZE: 9pt
}
</STYLE>
</head>
<body bgcolor=#eff3ff>
<center>
<font color=#000084><h3>Test for Test</h3></font>
<hr width=600 color=#b5dbff>
<br>
<%
ResultSet rs0 = sqlbean.executeQuery(“select count(*) from UserList );
rs0.next();
long data_num=rs0.getLong(1);
long Current_Page = 0;
String currentpage=(String)request.getParameter(“currentpage“);
if (currentpage != null && !currentpage.equals(““))
{
Current_Page = Integer.parseInt(request.getParameter(“currentpage“));
}
String Query_Page=(String)request.getParameter(“Query_Page“);
if (Query_Page!=null && !Query_Page.equals(““))
{
Current_Page = Integer.parseInt(request.getParameter(“Query_Page“))-1;
}
PageCt.Init(Current_Page,data_num);
long l_start = PageCt.getStart();
long l_end = PageCt.getEnd();
//查询记录
ResultSet rs = sqlbean.executeQuery(“select * from UserList “ );
long i=0;
while((i<l_start) && rs.next())
{
i++;
}
//输出查询结果
long j=0;
while(rs.next() && (i<l_end))
{
j=i+1;
String col2 = rs.getString(2);
String col3 = rs.getString(3);
String col4 = rs.getString(4);
String col5 = rs.getString(5);
String col6 = rs.getString(6);
String col7 = rs.getString(7);
String col8 = rs.getString(8);
//打印所显示的数据
out.println(“<table border=0 width=600>“);
out.println(“<tr><td colspan=2><font color=#000084>“ + j + “、“+(col2==null?““:col2)+“</font></td></tr><tr><td colspan=2>答案:“+(col3==null?““:col3)+“</td></tr>“);
out.println(“<tr><td> 选项1:“+(col4==null?““:col4)+“</td><td> 选项2:“+(col5==null?““:col5)+“</td></tr>“);
out.println(“<tr><td> 选项3:“+(col6==null?““:col6)+“</td><td> 选项4:“+(col7==null?““:col7)+“</td></tr>“);
if (col8!=null && !col8.equals(““))
{
out.println(“<tr><td colspan=2>备注:“+col8+“</td></tr>“);
}
out.println(“</table><br>“);
i++;
}
%>
<table width=600>
<tr bgcolor=#b5dbff>
<form method=GET action=index.jsp>
<td width=80 align=center valign=bottom>共 <%=PageCt.getTotalnum()%> 条</td>
<td width=80 align=center valign=bottom><%=PageCt.getCurpage()+1%>/<%=PageCt.getTotalpage()%> 页</td>
<td width=120 align=center>查看第 <input type=text name=Query_Page size=3> 页</td>
<td width=50 align=center valign=bottom><a href=index.jsp?currentpage=<%=PageCt.getPrepage()%>>上页</a></td>
<td width=50 align=center valign=bottom><a href=index.jsp?currentpage=<%=PageCt.getNextpage()%>>下页</a>
</td>
</tr>
</table>
<br><br><br>
<table cellspacing=20>
<tr>
<td>问题包含<input type=text name=question_str size=10 value=<% if (question_str != null) out.println(question_str); %> ></td>
<td>答案包含<input type=text name=answer_str size=10 value=<% if (answer_str != null) out.println(answer_str); %> ></td>
<td>选项包含<input type=text name=sel_str size=10 value=<% if (sel != null) out.println(sel); %> ></td>
</tr>
<tr>
<td colspan=3 align=center><input type=submit value=查询></td>
</tr>
</form>
</table>
<br><br>
<a href=“insert.jsp“>添加</a>
<center>
</body>
</html>
看看JSP中怎样实现分页显示
jsp中分页最快捷的办法是用分页组件:
分页组件代码使用taglib实现的,如(代码太长,仅提供部分):
long begin = Math.max(1, curIndex - pagerRange/2);
long end = Math.min(begin + (pagerRange-1),totalPage);
request.setAttribute(“p_begin“, begin);
request.setAttribute(“p_end“, end);
%》
《table class=“pager“》
《tr》
《% if (curIndex!=1){%》
《td》《a href=“javascript:gotoPage(1)“》首页《/a》《/td》
《td》《a href=“javascript:gotoPage(《%=curIndex-1%》)“》上一页《/a》《/td》
《%}else{%》
《td class=“disabled“》《a href=“#“》首页《/a》《/td》
《td class=“disabled“》《a href=“#“》上一页《/a》《/td》
《%}%》
jsp如何 实现 内容分页
看了楼上两位回答,完全不知所云,连问题点都没找到。问题中说了“文章内容包含HTML标签”,这与传分页参数和dao有关系?
内容中包含html,那就说明从数据中截取分页内容时会出现如下情况:
1。取出的分页内容中,html标签不完整(比如《a href=,后面就没了。。。),针对这种情况,我们应该实现一个向前搜索和向后搜索内容以保证html标签完整性的功能。
2。有可能出现标签不成对的情况,比如有《form》,没有《/form》这种情况,那么这个问题也是我们需要去搜索内容来解决的。或者说做的过分点,我们写一个缺少结束标签的自动补足模块。
3。出现类似有《/form》,但是没有《form》的情况,这就有点伤脑筋了,是向前搜索内容直到补足还是直接在保存内容时就做分页处理分页以保证《form》《/form》标签模块的完整性这些策略就只有楼主你来思考了,呵呵。
不知道楼主你想说的是不是这些问题呢,说实在的,对包含html的内容进行分页有点繁琐,还不如直接把内容页面做“静态化”处理,这样分页都免了。当然还有一种办法就是在用户输入内容时就做好分页工作(对用户行为做限制),这样或许会好一点
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中的分页怎么写
《[email=%@page]%@page[/email] language=“java“%》
《[email=%@page]%@page[/email] import=“java.sql.*“%》
《[email=%@page]%@page[/email] contentType=“text/html;charset=GB2312“%》
《[email=%@page]%@page[/email] import=“book.db“%》
《html》
《head》
《/head》
《body》
//开始实现连接
《jsp:useBean id=“book“ class=“book.db“ scope=“session“/》
《% book.getCon();
ResuletSet rs=book.st.executeQuery(“select top 10 from book“);
%》
//定义全局变量实现分页
《%int pagesize=10;//分页每页记录数
int total;//总的记录数
int pagecount;//分页数目
int page=0;//当前页
String strpage=Request.getParameter(“pages“);//从页面得到页数
if(strpage=null){
page=1;
}
else{
page=Interger.parseInt(strpage);
if(page《1)
{
page=1;
}
}
rs.next();
total=rs.getRow();//得到总的记录数
pagecount=(pagesize+total-1)/pagesize;//得到总页数
if(page》pagecount)
page=pagecount;
int i=0;
%》
//插入表单
《form》
《table width=“800“ border=“0“ cellpadding=“0“ cellspacing=“0“ id=“center“》
《tr》
《td width=“227“》书名《/td》
《td width=“98“》作者《/td》
《td width=“108“》出版社《/td》
《td width=“178“》价格《/td》
《/tr》
//开始实现输出
《% if(pagecount》0){
rs.absolute(pagesize*(page-1)+1);//定位记录位置
while(i《pagesize&&!rs.isAfterLast()){%》
《tr align=“center“》
《td 》《%=rs.getString(1)%》《/td》
《td 》《%=rs.getString(2)%》《/td》
《td 》《%=rs.getString(3)%》《/td》
《td 》《%=rs.getString(4)%》《/td》
《/tr》
《% rs.next();
i++;
}
}
rs.close();
%》//关闭;
《/table》
《table width=“801“ height=“89“》
《tr》
《td width=“48%“》 共《%=pagecount%》 页;第《%=page%》页 《/td》
《td width=“52%“》
//实现连接判断
《%if(page《=1){%》
首页
《%}%》
《%else{%》
《a href=“a.jsp? pages=1“》首页《/a》
《%}%》
《%if(page》1){%
《a href=“a.jsp pages=《%=page+1“%》“》下页《/a》
《%}%》
下页
《%if(page《pagecount){%》
《a href=“a.jsp? pages=《%=page-1%》“》上页《/a》
《%}%》
上页
《%if(page==pagecount){%》
《a href=“a.jsp pages=pagecount“》尾页《/a》
《%}%》
尾页
《/tr》
《/table》
《%}%》
《%
book.close();
%》
《/form》
《/body》
《/html》
jsp如何用c标签实现分页
jsp用c标签实现分页的方式如下:
《%@ taglib uri=“/WEB-INF/tld/c.tld“ prefix=“c“%》
《%@ attribute name=“curIndex“ type=“java.lang.Long“ required=“true“%》
《%@ attribute name=“pageSize“ type=“java.lang.Long“ required=“true“%》
《%@ attribute name=“pagerRange“ type=“java.lang.Long“ required=“true“%》
《%@ attribute name=“totalPage“ type=“java.lang.Long“ required=“true“%》
《%@ attribute name=“formId“ type=“java.lang.String“ required=“true“%》
《%
long begin = Math.max(1, curIndex - pagerRange/2);
long end = Math.min(begin + (pagerRange-1),totalPage);
request.setAttribute(“p_begin“, begin);
request.setAttribute(“p_end“, end);
%》
《table class=“pager“》
《tr》
《% if (curIndex!=1){%》
《td》《a href=“javascript:gotoPage(1)“》首页《/a》《/td》
《td》《a href=“javascript:gotoPage(《%=curIndex-1%》)“》上一页《/a》《/td》
《%}else{%》
《td class=“disabled“》《a href=“#“》首页《/a》《/td》
《td class=“disabled“》《a href=“#“》上一页《/a》《/td》
《%}%》
《c:forEach var=“i“ begin=“${p_begin}“ end=“${p_end}“》
《c:choose》
《c:when test=“${i == curIndex}“》
《td class=“active“》《a href=“#“》${i}《/a》《/td》
《/c:when》
《c:otherwise》
《td》《a href=“javascript:gotoPage(${i})“》${i}《/a》《/td》
《/c:otherwise》
《/c:choose》
《/c:forEach》
《% if (curIndex!=totalPage){%》
《td》《a href=“#“》下一页《/a》《/td》
《td》《a href=“#“》末页《/a》《/td》
《%}else{%》
《td class=“disabled“》《a href=“javascript:gotoPage(《%=curIndex+1%》)“》下一页《/a》《/td》
《td class=“disabled“》《a href=“javascript:gotoPage(《%=totalPage%》)“》末页《/a》《/td》
《%}%》
《td》《a》共${totalPage}页《/a》《/td》
《td class=“input_li“》跳转到:《input type=“text“ id=“p_pageIndex“ size=“2“ value=“《c:out value=“${pageIndex}“/》“/》页 《input type=“button“ id=“gotoBtn“ onclick=“gotoPageByBtn()“ value=“GO“/》《/td》
《td class=“input_li“》 每页:
《select id=“p_pageSizeSelect“ onchange=“gotoPage(《%=curIndex%》)“》
《option value=“10“ 《c:if test=“${pageSize==10}“》selected《/c:if》》10条《/option》
《option value=“20“ 《c:if test=“${pageSize==20}“》selected《/c:if》》20条《/option》
《option value=“50“ 《c:if test=“${pageSize==50}“》selected《/c:if》》50条《/option》
《/select》
《/td》
《/tr》
《/table》
控制分页的代码如下
《%@ taglib uri=“/WEB-INF/tld/c.tld“ prefix=“c“%》《%@ taglib uri=“/WEB-INF/tld/fmt.tld“ prefix=“fmt“%》
《%@ taglib tagdir=“/WEB-INF/tags“ prefix=“tags“%》
《head》
《style》《!--分页样式--》
.pager { font: 12px Arial, Helvetica, sans-serif;}
.pager a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px;line-height:30px;vertical-align:middle;}
.pager .active a{color:red;border:none;}
.pager a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.pager a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
.pager .input_li{padding: 1px 6px;}
《/style》
《script》《!--分页跳转脚本--》
function gotoPage(pageIndex){
var queryForm = document.getElementById(“queryForm“);
var action = queryForm.action;
var pageSize = document.getElementById(“p_pageSizeSelect“).value;
action += “?pageIndex=“ + pageIndex + “&pageSize=“ + pageSize;
//alert(action);
queryForm.action = action;
queryForm.submit();
}
function gotoPageByBtn(){
var pageIndex = document.getElementById(“p_pageIndex“).value;
var pageIndexInt = parseInt(pageIndex);
var totalPage = ${totalPage};
if(pageIndexInt》0 && pageIndexInt《totalPage){
gotoPage(pageIndex);
}
else{
alert(“输入页数超出范围!“);
}
}
《/script》
《/head》
《body》
《form id=“queryForm“ action=“${basePath}/log/list“ method=“post“》
《table》
《tr》
《td》用户名:《/td》
《td》《input type=“text“ name=“userName“ value=“《c:out value=“${userName}“/》“/》 《/td》
《td》《input type=“submit“ text=“查询“/》《/td》
《/tr》
《/table》
《/form》
《tags:pager pagerRange=“10“ pageSize=“${pageSize}“ totalPage=“${totalPage}“ curIndex=“${pageIndex}“ formId=“queryForm“》《/tags:pager》
《table class=“border“》
《thead》
《tr》
《th width=“100“》用户名称《/th》
《th width=“500“》操作内容《/th》
《th width=“200“》操作时间《/th》
《/tr》
《/thead》
《tbody》
《c:forEach items=“${logList}“ var=“log“》
《tr》
《td》${log.userName}《/td》
《td》${log.result}《/td》
《td》
《fmt:formatDate value=“${log.createTime}“ pattern=“yyyy-MM-dd HH:mm:ss“/》
《/td》
《/tr》
《/c:forEach》
《/tbody》
《/table》
《tags:pager pagerRange=“10“ pageSize=“${pageSize}“ totalPage=“${totalPage}“ curIndex=“${pageIndex}“ formId=“queryForm“》《/tags:pager》
《/body》
JSP页面分页怎么做
分页须知知识点:
(1)JDBC2.0的可滚动结果集。
(2)HTTP GET请求。
一、可滚动结果集
Connection con = DriverManager.getConnection();
PreparedStatement stmt = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery();
常用方法:
(1)rs.absolute(n); 可以将指针跳到第n行。
(2)rs.relative(n); 可以将指针相对向下或向上n行。
(3)rs.first();
(4)rs.last();
(5)int curRow = rs.getRow(); 指针指向的当前行
二、功能实现分解
1.计算结果的个数
rs.last();
int size = rs.getRow();
即可得到结果的个数。
2.得到需要分几页
如果一页能够放5条记录,则
int pageCount = (size%5==0)?(size/5):(size/5+1);
即可获得需要分几页。
3.控制一页中规定显示记录个数
如果一页能显示5条记录,可以通过使用count进行计数。
int count = 0;
do{
if(count》=5) break;
.....
count++;
}while(rs.next());
通过break语句,能够使其显示到超过规定条目就跳出。
4.如何知道当前是第几页
通过HTTP get的特点,在地址栏中标明当前地址,如
《%@ page contentType=“text/html“ pageEncoding=“GB2312“ language=“java“%》
《%@ page import=“java.sql.*“%》
《html》
《head》
《title》hello《/title》
《/head》
《body》
《table border=“1“ spacing=“2“》
《%!
public static final String DRIVER = “com.mysql.jdbc.Driver“;
public static final String USER = “root“;
public static final String PASS = “12345“;
public static final String URL = “jdbc:mysql://localhost:3306/MLDN“;
public static final int PAGESIZE = 5;
int pageCount;
int curPage = 1;
%》
《%
//一页放5个
String user = null;
String pass = null;
try{
Class.forName(DRIVER);
Connection con = DriverManager.getConnection(URL,USER,PASS);
String sql = “SELECT empno,ename,job,hiredate,sal,comm FROM emp“;
PreparedStatement stat = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stat.executeQuery();
rs.last();
int size = rs.getRow();
pageCount = (size%PAGESIZE==0)?(size/PAGESIZE):(size/PAGESIZE+1);
String tmp = request.getParameter(“curPage“);
if(tmp==null){
tmp=“1“;
}
curPage = Integer.parseInt(tmp);
if(curPage》=pageCount) curPage = pageCount;
boolean flag = rs.absolute((curPage-1)*PAGESIZE+1);
out.println(curPage);
int count = 0;
do{
if(count》=PAGESIZE)break;
int empno = rs.getInt(1);
String ename = rs.getString(2);
String job = rs.getString(3);
Date hiredate = rs.getDate(4);
float sal = rs.getFloat(5);
int comm = rs.getInt(6);
count++;
%》
《tr》
《td》《%=empno%》《/td》
《td》《%=ename%》《/td》
《td》《%=job%》《/td》
《td》《%=hiredate%》《/td》
《td》《%=sal%》《/td》
《td》《%=comm%》《/td》
《/tr》
《%
}while(rs.next());
con.close();
}
catch(Exception e){
}
%》
《/table》
《a href = “multipage.jsp?curPage=1“ 》首页《/a》
《a href = “multipage.jsp?curPage=《%=curPage-1%》“ 》上一页《/a》
《a href = “multipage.jsp?curPage=《%=curPage+1%》“ 》下一页《/a》
《a href = “multipage.jsp?curPage=《%=pageCount%》“ 》尾页《/a》
第《%=curPage%》页/共《%=pageCount%》页
《/body》
《/html》

本文相关文章:
网上购物商城数据库设计(数据库设计:购物系统包括数据流图和数据字典)
2026年7月1日 13:30
sql2000数据库还原(重装SQLServer2000之后,数据库如何恢复)
2026年9月30日 21:00
sql批量新增数据insert(如何用SQL语句将数据批量插入数据库)
2026年9月10日 11:40
分页符的作用(word分页符.分栏符.换行符.分节符有什么作用)
2026年8月23日 15:10
更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00



