JSP 中分页DEMO 例附数据库

xiaoxiao2022-12-02  141

JSP 中页面分页操作 附源码实现 和数据库 可部署在TOMCAT中运行 部分代码 index.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK" %><%@page import="bo.MessageBO"%><%@page import="entity.Message"%><html> <head> <title>留言板实例</title> <link rel="stylesheet" type="text/css" href="css/styles.css"> <style type="text/css"> #messDiv{ border:1px solid #227788; margin-left:150px; height:150px; width:670px; margin-bottom:5px; display:block; } #replyDiv{ margin:10px; border:1px solid #fffeee; width:670px; margin-left:150px; display:block; } #nameDiv{ width:100%; padding:10px; background-color: #fffffe; display:block; } #timeDiv{ width:100%; padding:5px; background-color: #ccFADD; text-align: right; display:block; } #pageDiv{ padding:5px; background-color: #ffaaDD; text-align: left; margin-left:150px; width:670px; display:block; } #noteDiv{ width:100%; padding:10px; margin:2px; word-break:break-all; height:98px; background-color:#cfffa3; display:block; } </style> <script language="javascript"> function checkMess(){ var objName = document.forms[0].name; var objContent = document.forms[0].content; if(objName.value==""){ alert("姓名不能为空!"); objName.focus(); return false; } if(objContent.value==""){ alert("内容不能为空!"); objContent.focus(); return false; } return true; } function showorhide(notediv){ var objDiv = document.getElementById(notediv); if(objDiv.style.display=='block'){ objDiv.style.display='none'; }else{ objDiv.style.display='block'; } } </script> </head> <body> <% MessageBO bo = new MessageBO(); //业务逻辑对象 int totalMessageCounts = bo.getTotalMessageCounts(); //得到总消息条数 int pageno = 1; //假定当前页 //表示的是第一次请求 参数page并不存在 if(request.getParameter("page")!=null){ //不是第一次请求 就一定有 page 参数 即使是自己提交给自己的页面 pageno = Integer.parseInt(request.getParameter("page")); //获得请求的参数 page 的值 } int nextPage = pageno+1 ; //假定下一页 int beforePage = pageno-1 ;//假定上一页 int last=totalMessageCounts/10+1; //总页数 //如果已经到达最小值 if(beforePage<=0){ beforePage =1; } //如果已经到达最大值 if(nextPage>last){ nextPage = last; } //得到当前page 参数要求查询出来的页面消息 pageno ArrayList<Message> list = bo.getMessagesByPage(pageno); %> <div id="mainDiv"> <h3 align="center">留言板</h3> <hr> <div id="pageDiv"> 共有 <%=totalMessageCounts%> 条留言        <a href="index.jsp?page=1">One</a>    <a href="index.jsp?page=<%=beforePage %>">Back</a> - <% for(int i=0;i<(totalMessageCounts/10)+1;i++){ %>  <a href="index.jsp?page=<%=i+1%>"><%=i+1%></a>. <% } %> -<a href="index.jsp?page=<%=nextPage %>">Next</a>    <a href="index.jsp?page=<%=last%>">Last</a> <a name="top"></a>        <a href="#write">BOTTOM</a> </div> <% //循环输入消息 for(int i=0;i<list.size();i++){ Message message = list.get(i); %> <div id="messDiv"> <div id="nameDiv"> <a name="<%= message.getAuthor()%>"></a> 第 <%= (pageno-1)*10+i+1%> 楼 -- <%=message.getAuthor() %>           <a href="javascript:showorhide('noteDiv<%=message.getId()%>')">o(∩_∩)o</a> <a href="#write" >Write</a> </div> <div id="noteDiv<%=message.getId()%>"> <div id="noteDiv"> <%=message.getMessage() %> </div> <div id="timeDiv"> 发表于-(<%=message.getPostTime() %>) ID: <%=message.getId()%> </div> </div> </div> <% } %> <div id="pageDiv"> <a href="index.jsp?page=1">One</a>    <a href="index.jsp?page=<%=beforePage %>">Back</a> - <% for(int i=0;i<(totalMessageCounts/10)+1;i++){ %>  <a href="index.jsp?page=<%=i+1%>"><%=i+1%></a>. <% } %> -<a href="index.jsp?page=<%=nextPage %>">Next</a>    <a href="index.jsp?page=<%=last%>">Last</a> </div> <div id="replyDiv"> <a name="write" ></a>       <a href="#top">GO TO TOP</a> <form action="dopage.jsp?page=<%=last%>" method="post" onsubmit="return checkMess()"> <table> <tr> <td>用户名:</td> <td><input type="text" class="normalTxt" name="name" ></td> </tr> <tr> <td>内容</td> <td> <textarea rows="5" cols="83" name="content" ></textarea> </td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" value="提 交" class="normalBtn">  <input type="reset" value="重 置" class="normalBtn"> </td> </tr> </table> </form> </div> </div> </body></html> MessageBo.java package bo;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import dao.MessageDao;import entity.Message;/** * 消息业务逻辑处理对象 * @author Simon Lv * */public class MessageBO { //消息数据访问对象 MessageDao dao = new MessageDao(); /** * 得到含有所有消息实体类集合 * @page 页码 * @return 实体类集合对象 */ public ArrayList<Message> getMessagesByPage(int page){ //如果页码为负或0 if(page<=0){ page = 0; }else{//页码乘以条数 page = (page-1)*10; } //SQL 查询子语句 String sql ="select top 10 * from tbl_message where id not in (select top "+page+" id from tbl_message)"; return dao.getAllMessages(sql, null); } /** * 得到消息的条数 * @return 消息的总条数 */ public int getTotalMessageCounts(){ return dao.getAllMessages("select * from tbl_message ", null).size(); } /** * 添加一条记录 * @param name 用户姓名 * @param content 文本内容 * @return 是否成功 0 不成功 大于0 成功 */ public int insertMessage(String name,String content){ String sql = "insert into tbl_message values(?,?,?)"; String param[] =new String[]{content,name,new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())}; return dao.executeSql(sql, param); }} 相关资源:jsp 分页 demo(第二个例子)
转载请注明原文地址: https://www.6miu.com/read-4979229.html

最新回复(0)