News新闻发布系统
News新闻发布系统分页的实现
1.首先我们要在NewsDAO中创建一个方法,返回List<NewsEntity>集合,其中pageIndex表示当前页,pageSize表示新闻数量
public List<NewsEntity> GetSelect(int pageIndex,int pageSize);
2.NewsDAOImpl类实现了NewsDAO,所以自然继承了GetSelect()方法
public List<NewsEntity> GetSelect(int pageIndex,int pageSize) { List<NewsEntity> list=new ArrayList<NewsEntity>(); String sql="select top "+pageSize+" * from newsDetial where newsId not in(select top "+(pageIndex-1)*pageSize+" newsId from newsDetial)"; ResultSet rs=executeQuery(sql); if(rs!=null) { while(rs.next()) { NewsEntity entity=new NewsEntity(); entity.setNewsId(rs.getInt("newsId")); entity.setNewsTitle(rs.getString("newsTitle")); entity.setNewsContent(rs.getString("newsContent")); entity.setNewsCreateDate(rs.getDate("newsCreateDate")); entity.setNewsAuthor(rs.getString("newsAuthor")); entity.setNewsCateforyId(rs.getInt("newsCategoryId")); list.add(entity); } } return list; }
3.然后我们新建一个Util包,包中有page方法,来存储向用户展示的数据
public class page { //当前页 private int pageIndex; //页面记录数 private int pageSize; //本页显示真实数据 private List<NewsEntity> list; //总页数 private int totalPages; //总记录数 private int totalRecords; }
4.在NewsServlet类中,实现其功能(当给总页数赋值时,需要在NewsDAO中新建一个getAllCount方法,在NewsDaoImpl中实现其方法)
public int getAllCount() throws Exception { int result=0; String sql="select count(1) as num from newsDetails"; ResultSet rs=executeQuery(sql); if(rs!=null) { if(rs.next()) { result=rs.getInt("num"); } closeAll(); } return result; }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { NewsDAOImpl news=new NewsDAOImpl(); try { page pages=new page(); //默认显示三条数据 int pageSize=3; pages.setPageSize(pageSize); //当前页 int myIndex; String pageIndex=request.getParameter("pageIndex"); if(pageIndex!=null) { myIndex=Integer.parseInt(pageIndex); } else { myIndex=1; } //给当前页赋值 pages.setPageIndex(myIndex); //总页数 int mytotalPage=0; int totalPage=news.getAllCount(); if(totalPage%pageSize==0) { mytotalPage=totalPage/pageSize; } else { mytotalPage=totalPage/pageSize+1; } pages.setTotalPages(mytotalPage); //查询所有 //List<NewsEntity> list=news.Select(); //request.setAttribute("list", list); //泛型数据 List<NewsEntity> list=news.getSelect(pages.getPageIndex(), pageSize); pages.setList(list); request.setAttribute("list", pages); //登录 String name=request.getParameter("uname"); String pwd=request.getParameter("upwd"); boolean flag= news.Login(name, pwd); if(flag) { response.sendRedirect("newspages/admin.jsp"); } else { request.getRequestDispatcher("/index.jsp").forward(request, response); } request.getRequestDispatcher("/index.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } }
<ul class="classlist"> <% //从作用域中取出一个泛型 page page2= (page)request.getAttribute("list"); for(NewsEntity item :page2.getList()){ //一个item就是一个新闻对象 %> <li><a href='<%=path %>/newspages/news_read.jsp'> <%=item.getNewsTitle() %> </a><span> <%=item.getNewsCreateDate() %> </span></li> <% } %> <p align="right"> 当前页数:[<%=page2.getPageIndex() %>/<%=page2.getTotalPages() %>] <a href="<%=path %>/Servlet/NewsServlet?pageIndex=<%=page2.getPageIndex()+1%>">下一页</a> <a href="#">末页</a> </p> </ul>
其中,page2.getPageIndex()代表当前页码,page2.getTotalPages()代表了总页码,当点击下一页的时候page2.getPageIndex()要加1
News新闻发布系统的更多相关文章
- 【NodeJS 学习笔记04】新闻发布系统
前言 昨天,我们跟着这位大哥的博客(https://github.com/nswbmw/N-blog/wiki/_pages)进行了nodeJS初步的学习,最后也能将数据插入数据库了 但是一味的跟着别 ...
- 2016.6.23 PHP实现新闻发布系统主体部分
1.新闻发布系统的列表: <html><meta http-equiv="Content-Type" content="text/html; chars ...
- DRP PK 牛腩新闻发布系统
一.JSP与ASP (1)Web服务器的支持:大多数通用的Web服务器如:Apache.Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Pers ...
- 安卓项目-利用Sqlite数据库,开发新闻发布系统
本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基 ...
- 牛腩新闻发布系统--学习Web的小技巧汇总
2014年11月10日,是个难忘的日子,这一天,小编的BS学习开始了,BS的开头,从牛腩新闻发布系统开始,之前学习的内容都是CS方面的知识,软考过后,开始学习BS,接触BS有几天的时间了,跟着牛腩老师 ...
- 牛腩新闻发布系统(五):VS网站发布及常见问题
导读:在千万个回眸中,终于看见了牛腩的归途.好吧,牛腩该整合的都整合完毕了,到了发布的时候了.这时候,不得不再次感慨那句不知道感慨了多少次的感慨:为什么,我要遭遇这么多的坎坷?下面,结合自己的情况,说 ...
- 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础
一:为什么需要动态网页 由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页 ①:动态网页是指在服务器端运行的,使用程序语言设 ...
- 新闻发布系统<分页>
分页实现: 实现数据的分页显示,需要以下几个关键步骤: ①确定每页显示的总页数 ②计算显示的总页数 ③编写SQL语句 实现效果如图所示: 当点击下一页时,地址栏地址为?pageIndex=2 1.创建 ...
- 基于JSP+SERVLET的新闻发布系统(三)
拖了这么久..今天把栏目管理还有新闻管理模块的也挂出来.. 栏目管理跟用户管理一样. 这里重点讲解新闻管理. 效果图如上: 1,可选择栏目类别,且栏目类别是动态生成的. 默认生成的文章是未审核状态的. ...
随机推荐
- abap 字符串处理
1).SHIFT:截断字符串 SHIFT {c} [BY {n} PLACES] [{mode}].: 作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则 ...
- WAF指纹识别和XSS过滤器绕过技巧
[译文] -- “Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters” 0x1 前言 之前在乌云drop ...
- JSOM 对User的操作
一.操作当前用户 //Load current user info function LoadCurUser() { var curUser; curUser = curWeb.get_current ...
- Android Property Animation动画
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...
- Android 调用系统照相机拍照和录像
本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.a ...
- Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)
Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液 ...
- 访客至上的Web、移动可用性设计--指导原则
文章出自:听云博客 关于可用性设计,之前写过一个“纸上谈兵”版本的,那篇帖子主要是根据A/B test的方式来进行的. 但是最近找了本Steve krug写的Don't make me think,我 ...
- 安卓开发NDK环境搭建
第一步preferences - android - NDK 第二步 输入ndk文件所在目录 第三步 创建文件名(右击项目,阿 androidtool - add native sppuort)
- 【Android自定义控件】支持多层嵌套RadioButton的RadioGroup
前言 非常喜欢用RadioButton+RadioGroup做Tabs,能自动处理选中等效果,但是自带的RadioGroup不支持嵌套RadioButton(从源码可看出仅仅是判断子控件是不是Radi ...
- Web应用程序系统的多用户权限控制设计及实现-页面模块【9】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-页面模块.页面模块涉及到的数据表为页面表. 1.1页面域 为了更规范和方便后期系统的二次开发和维护 ...