JSP初级教程之跟我学JSP(五)(4)_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:JSP初级教程之跟我学JSP(四)
第四章我的第一个 Javabean 程序 一、先看看如何取当前时间并显示的代码: ------------------------------------------------ % java.text.SimpleDateFormatformatter=newjava.text.SimpleDateFormat(yyyy-MM-ddHH:mm:ss); java.util.DatecurrentTime=ne


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(三)
第三章连接数据库 接着我想做一个 jsp 的留言板之类的东西:有登录验证、注册、发表文章、浏览文章、管理文章、管理用户等这些功能。 首先,登录验证这个不难,但是有个问题:需要连接数据库了。于是我开始查找资料,并安装了 Oracle 数据库(对于Oracle数据

共4页上一页1234下一页
来源:模板无忧//所属分类:JSP教程/更新时间:2010-03-10
相关JSP教程