首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>jsp教程>资讯:JSP初级教程--JSP初学者入门之五

JSP初级教程--JSP初学者入门之五

www.jz123.cn  2010-03-12   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  int onePageRowCount=10;//每页的条数************按需要改变

  String s1="oracle.jdbc.driver.OracleDriver";//定义载入驱动程式的字符串

  String s2="jdbc:oracle:thin:name/password@ringz:1521:rock";//定义建立数据库连接的字符串************按需要改变

  String sql="select count(*) from article";//确定记录总数的查询语句************按需要改变

  page1.setSql(s1,s2,sql);

  page1.setOnePageRowCount(onePageRowCount);

  int maxRowCount=page1.getMaxRowCount();//获得记录总数

  int maxPageCount=page1.getMaxPageCount();//获得总的页数

  page2.setPageNum(pageNum);

  String listname[]={"ID","author","time","title"};//要查询的字段名************按需要改变

  int max=pageNum*onePageRowCount;//本页最后一条记录的行号

  int min=(pageNum-1)*onePageRowCount+1;//本页第一条记录的行号

  String sqlstr="select b.* from (select a.*,rownum row_num from (select * from article order by time desc) a where rownum<=’"+max+"’) b where row_num>=’"+min+"’";//************按需要改变

  page2.setSql(s1,s2,sqlstr);

  if(maxRowCount>0)

  out.println("<div align=’left’>共有"+maxRowCount+"条记录,每页显示"+onePageRowCount+"条。</div>");

  %>

  <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000">

  <tr bgcolor="#00CCFF">

  <td align="center">标题</td>

  <td align="center">作者</td>

  <td align="center">日期</td>

  </tr>

  <%

  java.util.Vector v=page2.getResult(listname);

  java.util.Enumeration e=v.elements();

  while(e.hasMoreElements())

  {

  Object[] obj=(Object[])e.nextElement();//****************注意修改下面的几行

  String id=obj[0].toString();

  String name=obj[1].toString();

  String time=obj[2].toString();

  String title=obj[3].toString();

  out.println("<tr>");

  out.println("<td bgcolor=’#eeeeee’><div align=’left’><font color=’#eeeeee’><a href=view.jsp?ID="+id+">"+title+"</a></font></div></td>");

  out.println("<td width=’15%’ bgcolor=’#ffff99’><div align=’center’>"+name+"</div></td>");

  out.println("<td width=’30%’ bgcolor=’#9999ff’><div align=’center’>"+time+"</div></td>");

  out.println("</tr>");

  }

  %>

  </table>

  <div align="right">

  <%

  String fileName="page";//**************************将文件名作为变量***********************

  out.print("第<font color=red>"+pageNum+"</font>页 共"+maxPageCount+"页 ");

  if (maxPageCount>1)//不只有一页

  {

  if (pageNum==1)//当前页是首页

  {

  out.print("首页 | 上一页 | <a href="+fileName+".jsp?page="+(pageNum+1)+">下一页</a> | ");

  out.print("<a href="+fileName+".jsp?page="+maxPageCount+">尾页</a> ");

  }//if (pageNum==1)

  else

  {

  if (pageNum==maxPageCount)//当前页是尾页

  {

  out.print("<a href="+fileName+".jsp?page=1>首页</a> | ");

  out.print("<a href="+fileName+".jsp?page="+(pageNum-1)+">上一页</a> | 下一页 | 尾页 ");

  }//if (pageNum==maxPageCount)

  else//当前页不是上面的2种情况

  {

  out.print("<a href="+fileName+".jsp?page=1>首页</a> | ");

  out.print("<a href="+fileName+".jsp?page="+(pageNum-1)+">上一页</a> | ");

  out.print("<a href="+fileName+".jsp?page="+(pageNum+1)+">下一页</a> | ");

  out.print("<a href="+fileName+".jsp?page="+maxPageCount+">尾页</a> ");

  }

  }

  %>

  跳转到第

  <select name="jumps" onChange="jumping(this)">

  <%

  for (int i=1;i<=maxPageCount;i++)

  {

  if (i==pageNum)

  {%>

  <option value="<%=fileName%>.jsp?page=<%=i%>" selected><%=i%></option>

  <%} else {%>

  <option value="<%=fileName%>.jsp?page=<%=i%>"><%=i%></option>

  <%} } %>

  </select>

  页

  <%

  }//if (maxPageCount!=1)

  %>

  </div>

  </body>

  </html>

  ----------------------------------------------------------------------------------

  后记:这个的分页功能有很大的不足:显示分页的页面(page.jsp)代码太多,其他页面引用该功能的时候还是要从这里复制大段的代码,而且其中需要根据实际情况改动的地方多达七处(标注很多*的地方),这很容易出错,希望大家能够在参考之后给予改进。

上一篇:JSP初级教程--JSP初学者入门之四 下一篇:Zend Framework和Struts2

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图