admin模糊查询分页+index主题分页

这篇博客探讨了如何在Java环境下,利用Eclipse工具实现用户登录后的模糊查询分页以及index页面的主题分页。内容包括检查用户是否已登录,计算最大页面数的逻辑,以及分页导航的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户登录不能为空

<%
        //判断用户是不是为空
        Object obj = session.getAttribute("a");
        if (obj == null) {
            out.print("<script>alert('老铁你没登录,请登录');location.href='login.jsp'</script>");
        }
    %>

计算最大页面公式:maxPage = count(总条数) / pageSize(每页数据条数)

// pageIndex(页码)

start = (pageIndex - 1) * pageSize + 1;
end = pageIndex * pageSize;

<body>
	<%
		//判断用户是不是为空
		Object obj = session.getAttribute("a");
		if (obj == null) {
			out.print("<script>alert('老铁你妹登录,请登录');location.href='login.jsp'</script>");
		}
	%>
	<div id="header">
		<div id="welcome">欢迎使用新闻管理系统!</div>
		<div id="nav">
			<div id="logo">
				<img src="images/logo.jpg" alt="新闻中国" />
			</div>
			<div id="a_b01">
				<img src="images/a_b01.gif" alt="" />
			</div>
		</div>
	</div>
	<div id="admin_bar">
		<div id="status">
			管理员:<%=session.getAttribute("a")%>
			&#160;&#160;&#160;&#160; <a href="login.jsp">登录</a>
		</div>
		<div id="channel"></div>
	</div>
	<div id="main">
		<div id="opt_list">


			<ul>
				<li><a href="newspages/add_news.jsp">添加新闻</a></li>
				<li><a href="admin.jsp">编辑新闻</a></li>
				<li><a href="admin.jsp">查找新闻</a></li>
				<li><a href="newspages/add_sub.jsp">添加主题</a></li>
				<li><a href="newspages/update_sub.jsp">编辑主题</a></li>
				<li><a href="dodele.jsp">删除主题</a></li>
			</ul>

		</div>
		<div id="opt_area">
			<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
			<script language="javascript">
				function clickdel() {
					return confirm("删除请点击确认");
				}
			</script>
			<form action="cx.jsp" align="center">
				<input type="text" name="str"> <input type="submit"
					value="查询">
			</form>
			<ul class="classlist">
				<%
					//连接数据库,查询新闻新
					Class.forName("oracle.jdbc.OracleDriver");
					String url = "jdbc:oracle:thin:@localhost:1521:orcl";
					Connection con = DriverManager.getConnection(url, "scott", "tiger");

					//求出数据总条数
					PreparedStatement ps = con.prepareStatement("select count(*) from news");
					ResultSet rs = ps.executeQuery();
					int count = 0;
					if (rs.next()) {
						count = rs.getInt(1);
					}

					int pageIndex = 1;//页码
					//接收页码
					String index = request.getParameter("pageIndex");
					if (index != null) {//如果接收到页面,就给页面pageIndex赋值
						pageIndex = Integer.valueOf(index);
					}
					int pageSize = 5;//每页的数据条数,每页5条数据

					//计算最大页码
					int maxPage = count / pageSize;
					//判断能不能整除,不能整除说明还有不够一页的数据
					if (count % pageSize != 0) {
						maxPage++;
					}

					int start = (pageIndex - 1) * pageSize + 1;
					int end = pageIndex * pageSize;
					String sql = "select * from(select a.*,rownum mid from news a)b where mid>=? and mid<=?";

					ps = con.prepareStatement(sql);
					ps.setInt(1, start);
					ps.setInt(2, end);
					rs = ps.executeQuery();
					while (rs.next()) {
				%>
				<li><a href="newspages/news_read.jsp?nid=<%=rs.getInt(1)%>">
						<%=rs.getString("ntitle")%></a><span> 作者: <%=rs.getString("nzz")%>
						&#160;&#160;&#160;&#160; <a
						href='newspages/up_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>
						&#160;&#160;&#160;&#160; <a
						href='dodelnenws.jsp?nid=<%=rs.getInt(1)%>'
						onclick='return clickdel()'>删除</a>
				</span></li>
				<li class='space'></li>
				<%
					}
				%>
				<p align="right">
					<a href="admin.jsp">首页</a> <a
						href="admin.jsp?pageIndex=<%=pageIndex > 1 ? pageIndex - 1 : 1%>">上一页</a>
					&nbsp;当前页数:[<%=pageIndex%>/<%=maxPage%>]&nbsp; <a
						href="admin.jsp?pageIndex=<%=pageIndex < maxPage ? pageIndex + 1 : maxPage%>">下一页</a>
					<a href="admin.jsp?pageIndex=<%=maxPage%>">末页</a>
				</p>
			</ul>
		</div>
	</div>
	<div id="site_link">
		<a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span>
		<a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span>
		<a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span>
		<a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span>
		<a href="#">留言反馈</a>
	</div>
	<div id="footer">
		<p class="">
			24小时客户服务热线:010-68988888 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a>
			&#160;&#160;&#160;&#160; 新闻热线:010-627488888<br />
			文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a>
		</p>
		<p class="copyright">
			Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
			新闻中国 版权所有
		</p>
	</div>
</body>

index页面的主题分页

 

<body>
	<div id="header">
		<div id="top_login">
			<label> 登录名 </label> <input type="text" id="uname" value=""
				class="login_input" /> <label> 密&#160;&#160;码 </label> <input
				type="password" id="upwd" value="" class="login_input" /> <input
				type="button" class="login_sub" value="登录" onclick="login()" /> <label
				id="error"> </label> <img src="images/friend_logo.gif" alt="Google"
				id="friend_logo" />
		</div>
		<div id="nav">
			<div id="logo">
				<img src="images/logo.jpg" alt="新闻中国" />
			</div>
			<div id="a_b01">
				<img src="images/a_b01.gif" alt="" />
			</div>
			<!--mainnav end-->
		</div>
	</div>
	<div id="container">
		<div class="sidebar">
			<h1>
				<img src="images/title_1.gif" alt="国内新闻" />
			</h1>
			<div class="side_list">
				<ul>
					<li><a href='#'><b> 第一条新闻 </b></a></li>
					<li><a href='#'><b> 第二条新闻 </b></a></li>
					<li><a href='#'><b> 第三条新闻 </b></a></li>
				</ul>
			</div>
			<h1>
				<img src="images/title_2.gif" alt="国际新闻" />
			</h1>
			<div class="side_list">
				<ul>
					<li><a href='#'><b>第一条新闻</b></a></li>
					<li><a href='#'><b>第二条新闻</b></a></li>
					<li><a href='#'><b>第三条新闻</b></a></li>
					<li><a href='#'><b>第四条新闻</b></a></li>
				</ul>
			</div>
			<h1>
				<img src="images/title_3.gif" alt="娱乐新闻" />
			</h1>
			<div class="side_list">
				<ul>
					<li><a href='#'><b> 第一条 </b></a></li>
					<li><a href='#'><b> 第二条 </b></a></li>
					<li><a href='#'><b> 第三条 </b></a></li>
					<li><a href='#'><b> 第四条 </b></a></li>
				</ul>
			</div>
		</div>
		<div class="main">
			<div class="class_type">
				<img src="images/class_type.gif" alt="新闻中心" />
			</div>
			<div class="content">
				<ul class="class_date">
					<li id='class_month'>
						<%
							Class.forName("oracle.jdbc.OracleDriver");
							String url = "jdbc:oracle:thin:@localhost:1521:orcl";
							Connection con = DriverManager.getConnection(url, "scott", "tiger");
							//查询主题
							PreparedStatement ps = con.prepareStatement("select * from subject");
							ResultSet rs = ps.executeQuery();
							while (rs.next()) {
						%> <a href='index.jsp?tid=<%=rs.getInt(1)%>'><b><%=rs.getString(2)%></b></a>
						<%
							}
						%>
					</li>
				</ul>
				<ul class="classlist">
					<%
						//接收新闻主题
						String id = request.getParameter("tid");
						String countSql = "select count(*) from news";
						String pageSql = "select * from (select a.*,rownum mid from news a)b where mid>=? and mid<=?";
						int tid = 1;
						if (id != null) {//要执行根据主题查询的分页
							tid = Integer.valueOf(id);
							countSql = "select count(*) from news where tid=" + tid;
							pageSql = "select * from (select a.*,rownum mid from news a where tid=" + tid
									+ ")b where mid>=? and mid<=?";
						}
						//查询新闻总条数
						ps = con.prepareStatement(countSql);
						rs = ps.executeQuery();
						int count = 0;
						if (rs.next()) {
							count = rs.getInt(1);
						}
						//获取页面
						String index = request.getParameter("pageIndex");
						int pageIndex = 1;
						if (index != null) {
							pageIndex = Integer.valueOf(index);
						}
						//查询新闻
						int pageSize = 5;
						//求出最大页码
						int maxPage = count / pageSize;
						if (count % pageSize != 0) {
							maxPage++;
						}
						int start = (pageIndex - 1) * pageSize + 1;
						int end = pageIndex * pageSize;
						ps = con.prepareStatement(pageSql);
						ps.setInt(1, start);
						ps.setInt(2, end);
						rs = ps.executeQuery();
						while (rs.next()) {
					%>
					<li><a href='newspages/add_news.jsp'><%=rs.getString("ntitle")%></a>
						<span><%=rs.getDate("ndate")%></span></li>
					<li class='space'></li>
					<%
						}
					%>
					<p align="right">
						<a
							href="index.jsp<%if (id != null) {
				out.print("?tid=" + tid);
			}%>">首页</a>
						<a
							href="index.jsp?pageIndex=<%=pageIndex > 1 ? pageIndex - 1 : 1%><%if (id != null) {
				out.print("&tid=" + tid);
			}%>">上一页</a>
						&nbsp;当前页数:[<%=pageIndex%>/<%=maxPage%>]&nbsp; <a
							href="index.jsp?pageIndex=<%=pageIndex < maxPage ? pageIndex + 1 : maxPage%><%if (id != null) {
				out.print("&tid=" + tid);
			}%>">下一页</a>
						<a
							href="index.jsp?pageIndex=<%=maxPage%><%if (id != null) {
				out.print("&tid=" + tid);
			}%>">末页</a>
					</p>
				</ul>
			</div>
			<div class="picnews">
				<ul>
					<li><a href="#"><img src="images/Picture1.jpg" width="249"
							alt="" /> </a><a href="#">幻想中穿越时空</a></li>
					<li><a href="#"><img src="images/Picture2.jpg" width="249"
							alt="" /> </a><a href="#">国庆多变的发型</a></li>
					<li><a href="#"><img src="images/Picture3.jpg" width="249"
							alt="" /> </a><a href="#">新技术照亮都市</a></li>
					<li><a href="#"><img src="images/Picture4.jpg" width="249"
							alt="" /> </a><a href="#">群星闪耀红地毯</a></li>
				</ul>
			</div>
		</div>
	</div>
	<div id="friend">
		<h1 class="friend_t">
			<img src="images/friend_ico.gif" alt="合作伙伴" />
		</h1>
		<div class="friend_list">
			<ul>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
				<li><a href="#">中国政府网</a></li>
			</ul>
		</div>
	</div>
	<div id="footer">
		<p class="">
			24小时客户服务热线:010-68988888 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a>
			&#160;&#160;&#160;&#160; 新闻热线:010-627488888 <br />
			文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱: <a href="#">jubao@jb-aptech.com.cn</a>
		</p>
		<p class="copyright">
			Copyright &copy; 1999-2009 News China gov, All Right Reserver <br />
			新闻中国 版权所有
		</p>
	</div>
</body>

主要的内容是分页(首页,上一页,当前页数[?/?],下一页,末页)代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值