zoukankan      html  css  js  c++  java
  • jsp+servlet的一个例子

    想在网上找个这样的例子,奈何这个世界太浮夸,干实事的不多,搞转帖的垃圾网站一大堆,有的还转的七零八落,有的例子下载还要登录,着实郁闷了一把

    最后还是决定自己写吧,本例子提供eclipse工程压缩包下载,直接导入就能用了,本着踏实的态度干这件事,希望能给新手帮助。

    本例着重介绍如何表现层分页的小技巧,DAO只是一个Demo,数据库查询的分页技巧不在本文讨论范围之内。

    先看看最终效果的一个截图:



      

    单从表现层来说分页不是一个复杂的工作,稍微理一下思路,处于不同competence level的同学应该都能自己搞出来。

    以上面的文章列表分页为例,我觉得分页有两点重要的,

    一是:分页我们必须首先自己搞清楚,文章总数、每页显示文章数(页大小)、页数

    二是:如何做好页脚的分页导航条

    实际应用中,文章总数这个值我们从数据库可以得到;每页显示的文章数即分页的页大小可以自己定义;页数我们可以通过下面的个表达式简单得出。

    假设:

      int pageSize = 10; //分页大小
      int totalPosts = PagingDAO.entryList.size(); //总文章数
      int totalPages = totalPosts/pageSize + ((totalPosts%pageSize)>0?1:0); //计算得出的总页数

    每页的文章怎么取出来?

      知道分页的大小之后,我们生成了页好的选取下拉框,每次选择第几页的时候,都会向Servlet传递当前选择页号的参数,这样Servlet调用后面的DAO相应的方法,取得文章列表信息,再回传到JSP以供显示。

    看看我们用作显示的index.jsp

    Html代码 复制代码 收藏代码
    1. <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>  
    2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
    3.   
    4. page Size : ${pageSize}   
    5. <br />  
    6. Total Posts: ${totalPosts}   
    7. <br />  
    8. Total Pages: ${totalPages}   
    9. <br />  
    10. Current Page: ${pageNumber}   
    11. <hr />  
    12.   
    13. <table>  
    14.     <thead>  
    15.         <tr align="center">  
    16.             <td width="10%">Article ID</td>  
    17.             <td width="70%">Article Title</td>  
    18.             <td colspan="3">Actions</td>  
    19.         </tr>  
    20.     </thead>  
    21.     <tbody>  
    22.         <c:forEach items="${entryList}" var="entry">  
    23.             <tr align="center">  
    24.                 <td>${entry.entryID}</td>  
    25.                 <td>${entry.title}</td>  
    26.                 <td><a href="viewEntry?entryID=${entry.entryID}">View</a></td>  
    27.                 <td><a href="editEntry?entryID=${entry.entryID}">Edit</a></td>  
    28.                 <td><a href="deleteEntry?entryID=${entry.entryID}">Delete</a></td>  
    29.             </tr>  
    30.         </c:forEach>  
    31.     </tbody>  
    32.     <tfoot>  
    33.         <tr align="center">  
    34.             <td colspan="5">  
    35.                 <jsp:include page="paging_footer.jsp"></jsp:include>  
    36.             </td>  
    37.         </tr>  
    38.     </tfoot>  
    39. </table>  
    40.   
    41. <hr/>  
  • 相关阅读:
    out/host/linuxx86/obj/EXECUTABLES/aapt_intermediates/aapt 64 32 操作系统
    linux 查看路由器 电脑主机 端口号 占用
    linux proc进程 pid stat statm status id 目录 解析 内存使用
    linux vim 设置大全详解
    ubuntu subclipse svn no libsvnjavahl1 in java.library.path no svnjavahl1 in java.library.path no s
    win7 安装 ubuntu 双系统 详解 easybcd 工具 不能进入 ubuntu 界面
    Atitit.json xml 序列化循环引用解决方案json
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    Atitit.跨语言  文件夹与文件的io操作集合  草案
    Atitit.atijson 类库的新特性设计与实现 v3 q31
  • 原文地址:https://www.cnblogs.com/moonfans/p/2697920.html
Copyright © 2011-2022 走看看