- 浏览: 205774 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (291)
- ERP (3)
- JSP/Servlet (13)
- DB (8)
- MongoDB (2)
- Python (3)
- Maven (8)
- GIT (1)
- Windows (8)
- Java (24)
- Informatica (2)
- PHP (1)
- Javascript (25)
- Tomcat (2)
- spring (13)
- HTML5 (11)
- Nginx (2)
- NodeJS (6)
- Linux (40)
- AngularJS (1)
- Android (3)
- Selenium (3)
- 理财 (6)
- 工作心得 (9)
- SQLServer (10)
- Hibernate/JPA (6)
- Bootstrap (1)
- C# (3)
- MySql (4)
- highchart (1)
- hadoop (5)
- ZooKeeper (2)
- Hbase (8)
- Avro (2)
- Hive (2)
- Flume (5)
- Kafka (11)
- Sqoop (3)
- Pig (1)
- Spark (1)
- Storm (2)
- Redis (1)
- Memcached (1)
- Dubbo (2)
- Phoenix (2)
最新评论
-
一尾金鱼:
可以作为查询手册了,页面布局也好~
JSP EL -
darkgost:
您好,我按照你的方法,在Service1.cs中添加如下代码: ...
C#Windows 服务制作安装删除. 用户注销后,程序继续运行
Oracle大记录数分页借助rownum
select * from ( select a.*, rownum num from (select * from
guestbook order by name desc) a where rownum <= 20 )
where num >=10;
Mysql大记录数分页借助rownum
select * from (select * from guestbook ) aa limit 0,10
借助Pager标签实现分页功能
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
</dependency>
使用方法:
1.MysqlPagination.java
2. GuestbookDAOJdbc.java
3.GetMessagesServlet.java
4.getMessages.jsp
select * from ( select a.*, rownum num from (select * from
guestbook order by name desc) a where rownum <= 20 )
where num >=10;
Mysql大记录数分页借助rownum
select * from (select * from guestbook ) aa limit 0,10
借助Pager标签实现分页功能
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
</dependency>
使用方法:
1.MysqlPagination.java
import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.regex.Pattern; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons.dbutils.handlers.MapListHandler; public class MysqlPagination implements Pagination { private int pageSize = 3; private int pageNumber = 1; private int maxPages; private int maxElements; private String sql; private MysqlUtil db; public MysqlPagination(String sql) { this.sql = sql; init(); } public MysqlPagination(String sql, int pageSize, int pageNumber) { this.sql = sql; this.pageSize = pageSize; this.pageNumber = pageNumber; init(); this.setPageNumber(pageNumber); } private void init() { db = MysqlUtil.getInstance(); setMaxElements(); setMaxPages(); } private void setMaxElements() { // select * from xxx order by desc // select count(1) from xxx order by desc String regex = "select((.)+)from"; Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); String[] s = p.split(this.sql); String newSql = "select count(1) as total from " + s[1]; ResultSetHandler handler = new ResultSetHandler() { public Object handle(ResultSet rs) throws SQLException { if (rs.next()) { return new Integer(rs.getInt("total")); } else { return null; } } }; this.maxElements = (Integer) db.query(newSql, null, handler); } private void setMaxPages() { if (maxElements != 0 && (maxElements % pageSize == 0)) { maxPages = maxElements / pageSize; } else { maxPages = maxElements / pageSize + 1; } } private String sqlModify(String source,int begin, int size){ System.out.println(begin+", " + size); StringBuffer target = new StringBuffer(200); target.append("select * from ("); target.append(sql); target.append(") aa limit "); target.append(begin); target.append(", "); target.append(size); return target.toString(); } private int getEndElement() { int endElement = pageNumber * pageSize; if (endElement >= maxElements) { return maxElements; } else { return endElement; } } private int getBeginElement() { return (pageNumber - 1) * pageSize; } @Override public List<Object> getList() { String newSql = this.sqlModify(this.sql, this.getBeginElement(), this.pageSize); return (List) db.query(newSql, null, new MapListHandler()); } @Override public int getMaxElements() { return maxElements; } @Override public int getMaxPages() { return maxPages; } @Override public int getNext() { if (pageNumber + 1 >= this.getMaxPages()) { return getMaxPages(); } return pageNumber + 1; } @Override public int getPageNumber() { return pageNumber; } @Override public int getPageSize() { return pageSize; } @Override public int getPrevious() { if(pageNumber-1<=1){ return 1; }else{ return pageNumber-1; } } @Override public boolean hasNext() { return pageNumber<this.getMaxPages(); } @Override public boolean hasPrevious() { return pageNumber>1; } @Override public boolean isFirst() { return pageNumber==1; } @Override public boolean isLast() { return pageNumber>=this.getMaxPages(); } @Override public void setPageNumber(int pageNumber) { if(pageNumber>maxPages){ this.pageNumber=maxPages; }else if(pageNumber<1){ this.pageNumber=1; }else{ this.pageNumber=pageNumber; } } @Override public void setPageSize(int pageSize) { this.pageSize=pageSize; } // Pagination p = new OraclePagination(sql,20,3); //List list=p.getList(); }
2. GuestbookDAOJdbc.java
private static final String SELECT_GUESTBOOKS_SQL="select * from guestbook order by id desc"; @Override public Pagination getGuestbookByPage(int pageSize, int pageNumber) { Pagination p = new MysqlPagination(SELECT_GUESTBOOKS_SQL,pageSize,pageNumber); return p; }
3.GetMessagesServlet.java
public class GetMessagesServlet extends HttpServlet { private static final long serialVersionUID = 5964428201228635704L; private int pageSize; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int pageNumber; try { pageNumber = Integer.parseInt(request.getParameter("p")); } catch (Exception e) { pageNumber = 1; } GuestbookDAO dao = new GuestbookDAOJdbc(); Pagination pager=dao.getGuestbookByPage(pageSize, pageNumber); request.setAttribute("guestbook.pager", pager); request.getRequestDispatcher("/getMessages.jsp").forward(request, response); } public void init(ServletConfig config)throws ServletException{ super.init(config); try{ this.pageSize=Integer.parseInt(config.getServletContext().getInitParameter("pageSize")); }catch(Exception e){ this.pageSize=10; } } }
4.getMessages.jsp
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%> <pg:pager url="${ctx}/servlet/getMessages" items="${requestScope['guestbook.pager'].maxElements}" maxPageItems="${initParam.pageSize}" maxIndexPages="5"> <pg:index> <pg:first unless="current"> <a href="${pageUrl}&p=${pageNumber}">首页</a> </pg:first> <pg:prev> <a href="${pageUrl}&p=${pageNumber}">上一页(${pageNumber})</a> </pg:prev> <pg:pages> <a href="${pageUrl}&p=${pageNumber}">${pageNumber}</a> </pg:pages> <pg:next> <a href="${pageUrl}&p=${pageNumber}">下一页(${pageNumber})</a> </pg:next> <pg:last unless="current"> <a href="${pageUrl}&p=${pageNumber}">尾页</a> </pg:last> </pg:index> </pg:pager>
- guestbook9.zip (115.1 KB)
- 下载次数: 0
发表评论
-
JSP 学习材料汇总
2014-12-21 14:33 473易百网 http://www.yiibai.com/jsp/j ... -
spring 3.0 应用springmvc 构造RESTful URL 详细讲解
2014-04-30 23:10 559博文转载: http://www.blogjava.net/b ... -
Servlet过滤器
2014-04-20 10:27 577Servlet 过 滤 器拦截请求和响应,以便查看、提取或操作 ... -
Serverlet监听器
2014-04-19 22:54 1367Servlet监听器用处 更加方便的控制applicati ... -
JSP Tag
2014-04-19 16:31 646从jsp1.1开始就可以在jsp页面中使用 ... -
JSP EL
2014-04-16 21:09 6281. EL 运算符 算术型: +, -, *, /(di ... -
Jsp 动作
2014-04-13 19:06 405<jsp:include page="incl ... -
Jsp 标记
2014-04-13 19:04 4041. JSP <Directive>指令标记 a. ... -
web 会话编程的实现.txt
2014-04-13 19:01 527会话编程的实现 将会话session对象保存在web应用服务器 ... -
web 应用-- cookie 的使用
2014-04-11 22:39 540Cookie是早期用来保存用户的信息, 容易泄漏用户的信息, ... -
web 应用 防止用户输入中文乱码
2014-04-11 20:55 5411. 防止从web获取到的字符出现乱码 在所有request ... -
web 安全-- 防止用户数据javascript执行 脚本
2014-04-11 20:47 531为防止用户数据javascript执行脚本, 可将用户输入的字 ...
相关推荐
### JSP分页技术详解:初学者的完美指南 #### 引言 在现代Web开发中,数据展示的效率和用户体验至关重要。对于大型数据库或数据集的处理,一次性加载所有数据不仅消耗大量资源,还可能导致页面加载缓慢,严重影响...
二、JSP分页步骤 1. **计算总页数**:首先,我们需要知道所有数据的数量,然后根据每页显示的数据量来计算总页数。这可以通过执行SQL查询获取数据总数,然后用总数除以每页数量得到。 2. **接收用户请求**:用户...
java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页
本篇文章将深入探讨“目前最好的JSP分页技术”,并介绍其核心概念、优势以及实现步骤。 首先,我们要明确的是,没有绝对“最好”的技术,只有最合适的解决方案。选择分页技术通常要考虑性能、易用性、可维护性和...
`jsp分页循环显示`就是一种这样的技术,它结合了`JSP(JavaServer Pages)`和`Servlet`,用于从数据库获取数据并以分页的方式在网页上呈现。本篇文章将深入讲解这一技术的实现原理及步骤。 首先,我们需要理解JSP和...
jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页...
本文件“JSP分页技术(多种方法)”中,将探讨几种常见的JSP分页实现方法。 1. **基于SQL的分页** 这是最基础的分页方法,通过在SQL查询语句中添加`LIMIT`和`OFFSET`或`ROWNUM`(根据数据库类型)来实现。例如,在...
在"分页的实现.rtf"文件中,可能包含了一个具体的JSP分页实现案例,包括SQL查询、Servlet处理逻辑以及JSP页面的代码片段,通过阅读和理解这个案例,可以加深对JSP分页实现的理解。 总结,JSP分页实现是一个涉及到...
**JSP分页技术详解** 在Web开发中,分页是一种常见的用户界面设计技术,它使得大量数据可以按页展示,提高用户体验并减轻服务器压力。本示例是基于JSP(JavaServer Pages)和SQL Server 2005构建的一个简单易懂的...
本资源提供了一个非常好用的JSP分页标签,它简化了在JSP页面上实现分页的过程,无需编写过多的Java代码,只需在JSP页面上插入特定的标签即可。 1. **JSP分页标签**:JSP分页标签是一种预定义的、可重用的组件,可以...
"jsp 分页源码.rar"这个压缩包可能包含了一个完整的JSP分页实现的源代码示例,让我们来详细探讨一下JSP分页的相关知识点。 1. **分页原理**: - 分页的基本思想是将大量数据分成若干小块(每块称为一页),每次只...
【纯jsp分页技术详解】 在Java Web开发中,分页功能是不可或缺的一部分,它能够帮助用户有效地管理和浏览大量数据,提升用户体验。本教程将深入探讨如何在JSP(Java Server Pages)中实现纯jsp分页,不依赖任何封装...
**jsp分页技术算法详解** 在Web开发中,分页技术是必不可少的,尤其是在处理大量数据展示时。JSP(JavaServer Pages)作为Java的一种视图技术,提供了强大的功能来实现用户界面的动态生成。本篇文章将深入探讨JSP中...
**jsp分页插件**是一种在网页应用中实现数据分页显示的重要工具,尤其是在处理大量数据时,分页能够提高用户体验,避免一次性加载过多数据导致页面加载缓慢或资源浪费。这款名为"Codejia.Com"的插件因其简单易用和...
"通过servlet实现jsp分页技术"的主题旨在讲解如何在Java Web环境下,利用Servlet和JSP进行数据的分页显示。下面将详细介绍这个过程,包括基本概念、步骤和关键点。 首先,我们需要理解分页的基本概念。分页是将大量...
"封装好直接使用的jsp分页插件"正是一款针对这一需求设计的工具,它能够简化开发过程,使开发者能够快速实现分页功能,而无需关注底层复杂的逻辑。 该插件适用于jsp与servlet的原生组合,同时对流行的SSH(Struts2 ...
### JSP分页技术详解与实现 #### 一、引言 JSP(JavaServer Pages)是一种基于Java的服务器端动态网页技术标准,用于生成动态HTML页面。在处理大量数据时,分页显示是一个非常实用的功能,它可以提高用户体验,减少...
【纯jsp分页查询】是一种在Web开发中常见的技术,主要应用于数据量较大时,为了提高用户体验和页面加载速度,将大量数据分为多个部分(页)进行显示。在这个项目中,开发者使用了JSP(JavaServer Pages)技术,这是...