今日学习笔记(老师给写好的):
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);
分享到:
相关推荐
Java EE 7 tutorial 中的examples代码,找了很久才找到下来的,跟Java EE 7 tutorial配套使用,是官方的学习资料。
java ee基础使用教程郑阿奇里面含有书中的所有ppt和代码
java ee
java ee 8实现的微服务,涵盖范围广泛,所有java ee技术条线的微服务技术都有介绍,完整的样例。
基于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光盘源码....
基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java EE .Java权限后台管理系统.pdf基于 java ...
网站在商业活动中发挥着越来也大 的作用,在信息时代建立一个功能强大、界面美观的电子商系统平台,对企业的发展是至关重要的。本文利用 JSP+JavaBean/Servlet 技术结合 MVC 设计模型,结合 MYSQL 数据库,...
这本书由Oracle的Java EE文档小组成员倾力编写,会让初学者和中缎Java程序员深入了解这个平台。 这个指南包括平台特性的全面描述,并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了...
采用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 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开发环境搭建。主要包含:jdk,服务器等。
Java EE编程 源代码Java EE编程 源代码Java EE编程 源代码Java EE编程 源代码
基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统的设计与实现.pdf基于Java EE平台项目管理系统...
java EE,servlet jsp java web 开发的帮助文档,API
Java EE 设计模式 Professional Java EE Design Patterns
非常抱歉,上次传错了,直到看到评论我才发现,不知道原文如何修改,现在重新上传一份,希望能帮助到大家