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/>  
  • 相关阅读:
    C#中两数相除为0的原因
    Keil STM32F4xx_DFP.1.0.8.pack下载链接
    LabVIEW入门第九天(数组和簇)
    C#执行文件抛出异常方法
    C#中两数相除为0的原因
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    VisualTreeHelper使用之ListBox模板DataTemplate中CheckBox选中项(WP7.1)
  • 原文地址:https://www.cnblogs.com/moonfans/p/2697920.html
Copyright © 2011-2022 走看看