||
今天在做程序时用到了一个vector类,以前不知道怎么用,今天查了查,略有所懂,记录下来以防遗忘。
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@page import="java.sql.*" %>
<%@ page import="java.util.Vector"%>;
<html>
<head>
<style type="text/css">
h1 {color: red}
h2{color: black}
</style>
<title>未引用javaBean的分页显示</title>
</head>
<body background="smile.gif" length="100" width="100">
<% Connection con=null;
Statement sql=null;
ResultSet rs=null;
String strSQL="";
int PageSize=2;
int Page=1;
int PageAllCount=1;//总页数
int RowCount=0;
Vector v=new Vector();
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){
}
try{
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:jh","jh","jh");
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//输出记录
strSQL="select * from student";
rs=sql.executeQuery(strSQL);
//算出总行数
if(rs.next()){
rs.last();
RowCount=rs.getRow();
}
//算出总页码数
if(RowCount%PageSize==0)//如果是当前页码的整数倍
PageAllCount=RowCount/PageSize;
else//如果最后还留一行
PageAllCount=(RowCount+PageSize-1)/PageSize;
if(PageAllCount==0) PageAllCount=1;
// 算出显示页
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
try{
Page=Integer.parseInt(request.getParameter("Page"));
}
catch(java.lang.NumberFormatException e){
//捕获用户从浏览器地址栏直接输入Page=sdfsdfsdf所造成的异常
Page=1;
}
if(Page<1) Page=1;
if(Page>PageAllCount) Page=PageAllCount;
rs.absolute((Page-1)*PageSize +1); //定位到某一行
%>
<table border="10" cellspacing="0" cellpadding="0" align="center">;
<colgroup span="5" style="color:brown" align="center" width="100"/></colgroup>
<tr>
<th>NO</th>
<th>NAME</th>
<th>CHINESE</th>
<th>MATH</th>
<th>ENGLISH</th>
</tr>
<%
//for(int i=1;i<=PageSize;i++)
//{
Object[] obj=new Object[5];
obj[0]=rs.getString("no");
obj[1]=rs.getString("name");
obj[2]=rs.getFloat("math");
obj[3]=rs.getFloat("chinese");
obj[4]=rs.getFloat("english");
//System.out.println((String)v.elementAt(0));
for(int i=0;i<5;i++){
v.add(obj[i]);
//System.out.println(obj1);
}
System.out.println(v);
out.print("</TR>");
// if(!rs.next()) break;
// }
out.print("</TABLE>");
}
catch(SQLException e){
e.printStackTrace();
}
finally{
sql.close();
con.close();
}
%>
<center>
<h1>
当前是第<%=Page%>页 共<%=PageAllCount%>页
</h1>
<h2>
<a href="1.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="1.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>"> 上一页</a><%}%>
<a href="1.jsp?Page=<%=PageAllCount%>">尾页</a>
</h2>
</center>
</body>
</html>
后台输出为[01 , 张三 , 68.0, 78.0, 67.0]
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 06:03
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社