`
陈静静2014
  • 浏览: 40831 次
  • 性别: 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  
谢谢了。。

相关推荐

    Java EE 7 tutorial 中的examples代码

    Java EE 7 tutorial 中的examples代码,找了很久才找到下来的,跟Java EE 7 tutorial配套使用,是官方的学习资料。

    java ee基础使用教程

    java ee基础使用教程郑阿奇里面含有书中的所有ppt和代码

    java ee api

    java ee

    Java EE 8 Microservices.epub

    java ee 8实现的微服务,涵盖范围广泛,所有java ee技术条线的微服务技术都有介绍,完整的样例。

    基于Java EE平台项目管理系统的设计与实现.docx

    基于Java EE平台项目管理系统的设计与实现.docx基于Java EE平台项目管理系统的设计与实现.docx基于Java EE平台项目管理系统的设计与实现.docx基于Java EE平台项目管理系统的设计与实现.docx基于Java EE平台项目管理...

    精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码.rar

    精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码.rar精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码.rar精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码....

    基于 java EE .Java权限后台管理系统.pdf

    基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java ...

    用JAVA EE5实现网上书店实例

    网站在商业活动中发挥着越来也大 的作用,在信息时代建立一个功能强大、界面美观的电子商系统平台,对企业的发展是至关重要的。本文利用 JSP+JavaBean/Servlet 技术结合 MVC 设计模型,结合 MYSQL 数据库,...

    Java EE 7权威指南卷1_1

    这本书由Oracle的Java EE文档小组成员倾力编写,会让初学者和中缎Java程序员深入了解这个平台。 这个指南包括平台特性的全面描述,并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了...

    九宫图(Java EE实现)

    采用Java EE编写,将项目部署到服务器(比如:C:\Program Files\apache-tomcat-7.0.23\webapps),然后在浏览器地址栏输入相应地址(比如:http://localhost:8080/ninepalace/form/ninePalaces.jsp),在页面中...

    Practical JSF in Java EE 8 pdf

    Practical JSF in Java EE 8 pdf Master the Java EE 8 and JSF (JavaServer Faces) APIs and web framework with this practical, projects-driven guide to web development. This book combines theoretical ...

    eclipse中java ee开发环境搭建

    eclipse中java ee开发环境搭建。主要包含:jdk,服务器等。

    Java EE编程 源代码

    Java EE编程 源代码Java EE编程 源代码Java EE编程 源代码Java EE编程 源代码

    基于Java EE平台项目管理系统的设计与实现.pdf

    基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统...

    java ee API

    java EE,servlet jsp java web 开发的帮助文档,API

    Professional Java EE Design Patterns

    Java EE 设计模式 Professional Java EE Design Patterns

    JAVA EE中文文档

    非常抱歉,上次传错了,直到看到评论我才发现,不知道原文如何修改,现在重新上传一份,希望能帮助到大家

Global site tag (gtag.js) - Google Analytics