求jsp页面实现分页显示数据库查询内容 代码
具体的是http://apps.hi.baidu.com/share/detail/16843724中“首页第一页,下一页末页”等代码部分我就是想知道这个网站上说的。但是...
具体的是http://apps.hi.baidu.com/share/detail/16843724 中“首页 第一页,下一页 末页”等代码部分
我就是想知道 这个网站上说的。但是网站上只给出一部分代码,求另外一部分! 展开
我就是想知道 这个网站上说的。但是网站上只给出一部分代码,求另外一部分! 展开
3个回答
展开全部
这个是有条件查询的分页
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*" %>
<%@page import="entity.Stu"%>
<script>
</script>
<html>
<title>分页显示(jsp)</title>
<body>
<%!
int pageSize = 5;//每页显示的记录数
int pageCount = 0;//总页数%>
<%
int ageS=0;//开始年龄
int ageE=0;//结束年龄
if(request.getParameter("ageS")==null){//判断request里是否有ageS,没有:给ageS赋值并把其放到session里
ageS=18;
session.setAttribute("ageS",ageS);
}else{ //有的话,再对session里的进行判断
if(!session.getAttribute("ageS").equals(request.getParameter("ageS"))){ //如果session里的值和request里的值不同
ageS=Integer.parseInt(request.getParameter("ageS").toString());//那么把request里的值赋值给ageS,并放进session里
session.setAttribute("ageS",request.getParameter("ageS"));
}else{
ageS=Integer.parseInt(session.getAttribute("ageS").toString());//否则 ageS直接从session里读取
}
}
if(request.getParameter("ageE")==null){
ageE=25;
session.setAttribute("ageE",ageE);
}else{
if(!session.getAttribute("ageE").equals(request.getParameter("ageE"))){
ageE=Integer.parseInt(request.getParameter("ageE").toString());
session.setAttribute("ageE",request.getParameter("ageE"));
}else{
ageE=Integer.parseInt(session.getAttribute("ageE").toString());
}
}
Connection conn = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, "system", "zhu");
PreparedStatement st=conn.prepareStatement("select * from stu where age>="+ageS+" and age<= "+ageE+" order by sid",
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);//可滚动查询数据的结果集
ResultSet rs = st.executeQuery();
rs.last();//让游标到表中的最后一行
int rowCount = rs.getRow();//获取记录总数
//out.print("记录总数为 :"+rowCount);
//总也数的计算公式
pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize)
: (rowCount / pageSize + 1);
int showPage = 1;//当前页
%>
<%
//取得用户指定的页
String goTOPage = request.getParameter("showPage");
if (goTOPage == null) {
goTOPage = "1";
}
try {
showPage = Integer.parseInt(goTOPage);
} catch (NumberFormatException e) {
showPage = 1;
}
//当页面小于等于第一页。按第一页算 如果大于等于总页数。按最后一页算
if (showPage <= 1) {
showPage = 1;
} else if (showPage >= pageCount) {
showPage = pageCount;
}
//游标的位置(当前页-1)×每页显示的记录数+1
int posion = (showPage - 1) * pageSize + 1;
//设置游标的位置
rs.absolute(posion);
%>
<form action="" method="get"> 年龄段:<input type="text" value="<%=ageS %>" name="ageS"/>——<input type="text" value="<%=ageE %>" name="ageE"/>
<input type="submit" value="查询"/>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>序号</td>
<td>
编号
</td>
<td>
姓名
</td>
<td>
年龄
</td>
</tr>
<%
int num=showPage*pageSize-4;
int i = 0;
//循环显示表中的数据pageSize(每页显示的记录)
//rs.isAfterLase()游标是否在最后一行之后 说明后面已经没有记录
while (i < pageSize && !rs.isAfterLast()) {
%>
<tr>
<td>
<%=num %>
</td>
<td>
<%=rs.getInt("sid") %>
</td>
<td>
<%=rs.getString("sname") %>
</td>
<td><%=rs.getInt("age") %>
</td>
</tr>
<%
rs.next();
i++;
num++;
}
%>
</table>
<table width="1000">
<tr style=" vertical-align:middle;">
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=1">首页</a>
</td>
<td>
<%
if (showPage > 1) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage - 1%>">上一页</a>
<%
}else{
%>
上一页
<%} %>
</td>
<td>
<%
if (showPage < pageCount) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage + 1%>">下一页</a>
<%
}else{
%>
下一页
<%} %>
</td>
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=pageCount%>">尾页</a>
</td>
<td>
共<%=pageCount%>页
</td>
<td>
第<%=showPage%>页
</td>
</tr>
</table>
</form>
<%
conn.close();
} catch (ClassNotFoundException e1) {
out.print(e1.getMessage());
} catch (SQLException e2) {
out.print(e2.getMessage());
}
%>
</body>
</html>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*" %>
<%@page import="entity.Stu"%>
<script>
</script>
<html>
<title>分页显示(jsp)</title>
<body>
<%!
int pageSize = 5;//每页显示的记录数
int pageCount = 0;//总页数%>
<%
int ageS=0;//开始年龄
int ageE=0;//结束年龄
if(request.getParameter("ageS")==null){//判断request里是否有ageS,没有:给ageS赋值并把其放到session里
ageS=18;
session.setAttribute("ageS",ageS);
}else{ //有的话,再对session里的进行判断
if(!session.getAttribute("ageS").equals(request.getParameter("ageS"))){ //如果session里的值和request里的值不同
ageS=Integer.parseInt(request.getParameter("ageS").toString());//那么把request里的值赋值给ageS,并放进session里
session.setAttribute("ageS",request.getParameter("ageS"));
}else{
ageS=Integer.parseInt(session.getAttribute("ageS").toString());//否则 ageS直接从session里读取
}
}
if(request.getParameter("ageE")==null){
ageE=25;
session.setAttribute("ageE",ageE);
}else{
if(!session.getAttribute("ageE").equals(request.getParameter("ageE"))){
ageE=Integer.parseInt(request.getParameter("ageE").toString());
session.setAttribute("ageE",request.getParameter("ageE"));
}else{
ageE=Integer.parseInt(session.getAttribute("ageE").toString());
}
}
Connection conn = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, "system", "zhu");
PreparedStatement st=conn.prepareStatement("select * from stu where age>="+ageS+" and age<= "+ageE+" order by sid",
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);//可滚动查询数据的结果集
ResultSet rs = st.executeQuery();
rs.last();//让游标到表中的最后一行
int rowCount = rs.getRow();//获取记录总数
//out.print("记录总数为 :"+rowCount);
//总也数的计算公式
pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize)
: (rowCount / pageSize + 1);
int showPage = 1;//当前页
%>
<%
//取得用户指定的页
String goTOPage = request.getParameter("showPage");
if (goTOPage == null) {
goTOPage = "1";
}
try {
showPage = Integer.parseInt(goTOPage);
} catch (NumberFormatException e) {
showPage = 1;
}
//当页面小于等于第一页。按第一页算 如果大于等于总页数。按最后一页算
if (showPage <= 1) {
showPage = 1;
} else if (showPage >= pageCount) {
showPage = pageCount;
}
//游标的位置(当前页-1)×每页显示的记录数+1
int posion = (showPage - 1) * pageSize + 1;
//设置游标的位置
rs.absolute(posion);
%>
<form action="" method="get"> 年龄段:<input type="text" value="<%=ageS %>" name="ageS"/>——<input type="text" value="<%=ageE %>" name="ageE"/>
<input type="submit" value="查询"/>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>序号</td>
<td>
编号
</td>
<td>
姓名
</td>
<td>
年龄
</td>
</tr>
<%
int num=showPage*pageSize-4;
int i = 0;
//循环显示表中的数据pageSize(每页显示的记录)
//rs.isAfterLase()游标是否在最后一行之后 说明后面已经没有记录
while (i < pageSize && !rs.isAfterLast()) {
%>
<tr>
<td>
<%=num %>
</td>
<td>
<%=rs.getInt("sid") %>
</td>
<td>
<%=rs.getString("sname") %>
</td>
<td><%=rs.getInt("age") %>
</td>
</tr>
<%
rs.next();
i++;
num++;
}
%>
</table>
<table width="1000">
<tr style=" vertical-align:middle;">
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=1">首页</a>
</td>
<td>
<%
if (showPage > 1) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage - 1%>">上一页</a>
<%
}else{
%>
上一页
<%} %>
</td>
<td>
<%
if (showPage < pageCount) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage + 1%>">下一页</a>
<%
}else{
%>
下一页
<%} %>
</td>
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=pageCount%>">尾页</a>
</td>
<td>
共<%=pageCount%>页
</td>
<td>
第<%=showPage%>页
</td>
</tr>
</table>
</form>
<%
conn.close();
} catch (ClassNotFoundException e1) {
out.print(e1.getMessage());
} catch (SQLException e2) {
out.print(e2.getMessage());
}
%>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是学习jsp的话,我建议还是找一些其它的文章,其实分页显示采用mvc的模式相当简单,也就是bean ,servlet ,jsp,我想如果你懂了这个的话你就不需要再找剩下的那部分代码了,好好看一下,祝你成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
邮箱留下,给你发过去。
追问
bighouse2006@sina.com
追答
刚看到,已发。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询