`
陈静静2014
  • 浏览: 41834 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java ee中实现翻页

阅读更多
今日学习笔记(老师给写好的):
1.在jsp加分页的格式:
<table id="tblTurnPage" cellSpacing="0" cellPadding="1" width="100%" border="0" style="font-family:arial;color:red;font-size:12px;">	    		
    			<tr>
    				<td>总记录数:${RecordAllCount}</td> 
    				<td>总页数:${PageAllCount}</td>
    				<td>当前页:${CurrentPageNo}</td>
    				<td>[url=BuyRecordSvl?page=1]首页|[/url]
    				    [url=BuyRecordSvl?page=${CurrentPageNo-1}]《上一页|[/url]
    				    [url=BuyRecordSvl?page=${CurrentPageNo+1}]下一页》|[/url]
    				    [url=BuyRecordSvl?page=${PageAllCount}]末页|[/url]</td>
    				<td>跳转到:第<input type="text" size="3" >页<input type="button" value="go"></td>
    			</tr>	    		
    		</table>


2.在数据传输层定义一个类,其中两个为输入项,两个为返回值

public class TurnPagePara {
	//翻页参数
	public int CurrentPageNo = 1;//当前要显示的页码-----输入项-----------------------页号从1开始
    public int OnePageCount = 8;       	    	//每页要显示的记录数(默认值为8)---输入项
	public int RecordAllCount;        	    	//记录总数			----返回值
    public int PageAllCount;          			//共有多少页

}


3.在需要分页的dao里传入翻页参数,并且根据简单算法计算每页开始和结尾的值,传入BaseDao的executeQuery方法:
tp.RecordAllCount = this.getRecCount(sql);         	//返回总记录数和总页数
		tp.PageAllCount = (tp.RecordAllCount-1)/tp.OnePageCount + 1;
		if(tp.CurrentPageNo>tp.PageAllCount)
			tp.CurrentPageNo = tp.PageAllCount;
		int isStart = (tp.CurrentPageNo-1)*tp.OnePageCount + 1;
		int isEnd = isStart + tp.OnePageCount;
                ResultSet rs=executeQuery(sql,isStart,isEnd);


4.在连接数据库基础类里面加上三个方法:

//根据翻页参数,获得需要的结果集(oracle)  iStart从1开始>=iStart; <iEnd
	public  ResultSet executeQuery(String strSql,int iStart,int iEnd){	
		ResultSet rs = null;			
		try{
			Statement st = conn.createStatement();	
			if(st != null){				
				String strNew = "select * from  (select rownum numrow,tb.* from ( " + strSql + " ) tb ) where numrow >=" + iStart + " and numrow<" + iEnd ;					
				rs = st.executeQuery(strNew);
			}				
		}catch(SQLException ex){
					
		}		
		return rs;
	}   
	
	public  int getRecCount(String strSql){
		int iRec = 0;
		
		//mysql 中必须加别名w
		String strExe = "SELECT count(*) FROM (" + strSql + ") w";	
		Object obj = executeScalar(strExe);
		if(obj != null){
			iRec = Integer.parseInt(obj.toString());		
	}
	
	return iRec;
}

//返回查询结果的第一行第一列的值(---如果没有查询结果,则返回null)
	public  Object executeScalar(String strSql){
		ResultSet rs;			
		Object obj;
		
		obj = null;
		rs = null;
		try{
			
			Statement st = conn.createStatement();						
			rs = st.executeQuery(strSql);
			if( rs != null ){
				while( rs.next()){
					if(rs.isFirst()){
						obj = rs.getObject(1);  //columnIndex - 第一个列是 1
						break;
					}						
				}
				rs.close();
			}				
		}
		catch(SQLException ex){
						
		}		
		
		return obj;
	}


5.在需要将值传到分页页面的servlet中new一个分页参数,对其进行判断,最后通过jsp显示出来:

String strPageNo = request.getParameter("page");
		int pageNo = 1;
		try {
 			if(strPageNo != null && !strPageNo.equals("")){
				pageNo = Integer.parseInt(strPageNo);
				if( pageNo <1 )	//第一页时选择上一页,pageNo仍然等于1
					pageNo = 1;
			}						
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}		
		
		UserBiz biz =new UserBiz();
		TurnPagePara tp=new TurnPagePara();
		tp.OnePageCount = 10;
		tp.CurrentPageNo = pageNo;

                        request.setAttribute("RecordAllCount", tp.RecordAllCount);
			request.setAttribute("PageAllCount", tp.PageAllCount);
			request.setAttribute("CurrentPageNo", tp.CurrentPageNo);

1
1
分享到:
评论
1 楼 陈静静2014 2014-09-18  
谢谢了。。

相关推荐

    一个简单好用的jsp翻页控件

    而Struts是一个开源的MVC(Model-View-Controller)框架,它为构建基于Java EE平台的Web应用程序提供了一个强大的基础。在这个案例中,JSP用于渲染视图,而Struts则处理业务逻辑和控制流程。 创建一个简单的JSP分页...

    JAVA分页大全.pdf

    标题“JAVA分页大全.pdf”表明文档涉及的是Java编程语言中的分页技术。分页是在数据量较大的情况下,为了提高用户界面的可读性和操作便捷性,将...这对于理解Java分页机制,以及在实际项目中实现分页功能都是有帮助的。

    Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例.zip

    Spring框架的核心特性可以用来简化新的Java EE应用的开发,而Spring MVC和Spring Data JPA则是Spring框架中的两个重要模块,分别用于处理Web层的请求和数据库操作。在这个"Spring+Spring MVC+SpringData JPA整合完成...

    jsf基础教程+JPA教程

    Spring的模块化设计使其可以根据项目需求进行选择性使用,因此在现代Java EE项目中非常流行。 HIBERNATE是另一个ORM框架,它比JPA更早出现,提供了更为丰富的功能和更直接的数据库交互能力。尽管JPA是标准规范,但...

    JSP+JavaBean+Servlet实现分页技术

    5. Tomcat服务器:Tomcat是Apache软件基金会的Java EE应用服务器,用于运行和部署Java Web应用,包括JSP、Servlet等。在这个项目中,Tomcat提供运行环境,使JSP、Servlet和数据库能够协同工作。 6. MyEclipse:...

    SSH简单分页实例.

    在SSH框架中实现分页,通常涉及以下步骤: 1. **创建数据模型**:首先,我们需要定义一个数据实体类,比如`TestPageBean`,它对应数据库中的表结构。 2. **配置Hibernate**:在Hibernate的配置文件(hibernate.cfg....

    任务书_电子书管理系统的设计与实现.pdf

    【电子书管理系统设计与实现】 电子书管理系统是一个利用现代计算机技术和网络技术,将...通过这个项目,学生不仅将掌握电子书管理系统的设计与实现,还将深化对Java EE和Android开发的理解,提升实际项目开发能力。

    使用JSP+JavaBean+Servlet实现数据分页

    本教程将详细讲解如何利用JSP(JavaServer Pages)、JavaBean和Servlet技术来实现数据分页功能。我们将讨论以下几个关键知识点: 1. **JSP基础**:JSP是Java的一种动态网页技术,它允许我们在HTML页面中嵌入Java...

    java面试题

    在Java中,创建对象通常是通过构造函数实现的。例如,创建一个名为`Person`的类的实例,可以使用`new Person()`。 #### 21. Runnable与Thread的区别 - **Runnable接口**:提供了一个`run()`方法,用于定义线程的...

    Android手机电子书阅读器的设计与实现设计说明书.doc

    例如,对于EPUB格式,可以使用Java EE中的JSR-317规范来解析;而对于PDF格式,则可能需要用到第三方库如PDFBox等。 #### 3. UI设计与实现 在Android平台上实现美观且易用的用户界面至关重要。这包括但不限于: - **...

    新闻发布视频

    视频可能涉及如何在MyEclipse中实现分页功能,包括设置每页显示的数量、前后翻页逻辑以及处理查询参数等。分页通常结合Servlet和JSP来实现,通过请求参数控制当前页码,并返回相应的数据片段。 【知识点五】:教学...

    javaWeb用maven管理的ajax前后端分离的物业维修管理.pdf

    提到的效果展示中提到未实现翻页,这通常涉及到分页算法和Ajax请求的配合,以加载更多数据。 总结来说,这个物业维修管理系统利用Maven进行构建管理,通过前后端分离和Ajax技术实现了动态交互,同时依赖于一系列...

    在网页实现分页等操作

    1. **MyEclipse开发环境**:MyEclipse是Eclipse的一个商业版本,它提供了丰富的Java EE集成开发环境,包括了代码编辑、调试、发布和团队协作等功能。在Web开发中,MyEclipse可以便捷地创建、运行和调试Web项目。 2....

    jsf开发的人员管理分页源代码crud

    JSF(JavaServer Faces)是一种用于构建Web应用程序的Java EE技术,它提供了用户界面组件和事件处理机制。在这个“人员管理分页源代码CRUD”项目中,开发者使用JSF来实现一个基本的人力资源管理系统,包括创建...

    购物车(包括分页)

    MyEclipse是基于Eclipse的Java开发工具,提供了丰富的Java EE项目支持,便于开发Web应用程序。Tomcat是一个开源的Servlet容器,用于部署和运行Java Web应用。Sqlserver是微软提供的一个强大的关系型数据库系统,能够...

    JSP租房网站

    JSP是Java EE(企业版)平台的一部分,是一种动态网页技术。它允许开发者将HTML代码与Java代码混合编写,从而在服务器端处理数据并生成动态网页。JSP页面在服务器上被编译成Servlet,然后执行并返回响应给客户端。...

    基于 MVC JSP 分页

    JSP(JavaServer Pages)是Java EE平台中的视图技术,用于生成动态网页。当面对大量数据时,分页是必不可少的功能,它可以提高用户体验,避免一次性加载过多数据导致页面响应慢。下面将详细介绍基于MVC模式的JSP分页...

    J2EE学习教程

    - **Servlet的概念**:Servlet是Java EE的一部分,是一个Java类,用来扩展服务器的功能。 - **Servlet的功能**:处理客户端的HTTP请求,并生成动态的HTML响应。 - **Servlet优点**:可移植性强、高效、易于维护。...

    jsp分页解决数据无法一页显示完的问题!

    JSP(JavaServer Pages)作为Java EE平台上的动态网页技术,提供了丰富的功能来实现分页显示。本文将深入探讨JSP分页的相关知识点,并通过实例进行讲解。 一、理解分页概念 分页是将大量数据分割成多页显示,每一页...

Global site tag (gtag.js) - Google Analytics