哪位给一个调用这个bean的jsp代码?package com.beans.database;import java.sql.*;
import javax.servlet.*;// 引入servlet包
import javax.servlet.http.*;
import java.math.*;/**
**类别:数据库分页类
**作者:晨雨
**时间:2005-05-20
**/public class Page{
public int curPages;// 当前的页码值
public int pageRows; // 设置每页显示的记录数
private int totalRows;// 总记录数
private int totalPages;// 总页数
private String strPage="page";// 定义WEB的页码参数,默认为page/*
*取得页面参数page的值
*/
public void setPages(HttpServletRequest request, String page){
strPage=page; String strPage = null;// page参数变量
try{
strPage = request.getParameter(page);// request对象取得page的值
}catch(Exception e){
//System.out.println("delcolumn"+e.getMessage());
e.printStackTrace();
}
//初始化page
try{
if(strPage == null){// 默认没有就设置是第一页
curPages = 1;
}else{
curPages = Integer.parseInt(strPage);// 取得strPage的整数值
if(curPages < 1)// 如果小于1,同样返回是第一页
curPages = 1;
}
}catch(Exception e){
//System.out.print("curPages");
e.printStackTrace();
}
}/*
*设置每页要显示的记录条数
*/
public void setPageRows(int rows){
pageRows=rows;
}/*
*计算总页数的函数,在setTotalRowsPages中调用
*/
public int getTotalPages(int rowcounts){
int Pages; //总页数
if((rowcounts%pageRows)==0)// 取得余数
Pages = rowcounts/pageRows;// 每页显示的整数
else
Pages=rowcounts/pageRows+1;// 不是的话就加一
return Pages;// 返回页数
}/*
*计算总记录数和总页数
*/
public void getTotalRowsPages(String strSQL,Connection conn) throws Exception{
Statement stmt = null;
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs_count=stmt.executeQuery(strSQL);
rs_count.last();
totalRows=rs_count.getRow(); //取得总的数据数
totalPages=getTotalPages(totalRows); //取出总页数
rs_count.close();
rs_count=null;
}catch (SQLException ex) {
ex.printStackTrace();
}finally {
try {
if (stmt != null){
stmt.close();
stmt = null;
}
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
} //public void setPagesTen(int curPages){
//Math.round(); //四舍五入
//Math.floor(); //向低取整
//Math.ceil(); //向高取整
//}/*
*返回当前页的结果集的数组,参数(sql语句,得到当前页的记录集)
*/
public String[][] getArrData(String strSQL,Connection conn) throws Exception{
String[][] strArrData=null;//数据体数组 int rsCount;
rsCount=(curPages-1)*pageRows; String sql=null;
//sql=strSQL+" limit "+rsCount+","+pageRows; //mysql数据库条件方式
sql="select * from ("+strSQL+") where rownum<="+(rsCount+pageRows);
sql=sql+" minus select * from ("+strSQL+") where rownum<="+rsCount; //oracle数据库条件方式 Statement stmt = null;
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery(sql);
int cols=rs.getMetaData().getColumnCount();
rs.last();
strArrData=new String[rs.getRow()][cols];
rs.beforeFirst();
int i=0;
while(rs.next()){
for(int j=0;j<cols;j++){
strArrData[i][j]=(rs.getString(j+1)==null?"":rs.getString(j+1));
}
i++;
}
rs.close();
rs=null;
} catch(SQLException ex){
ex.printStackTrace();
}finally {
try {
if (stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
return strArrData;
}/*
*输出页码表格,参数(除page外的其他参数,显示样式)
*/
public String getPageHtml(String strParam,String style){
StringBuffer pageHtml=new StringBuffer("\n"); pageHtml.append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\">")
.append("<tr><td class="+style+"><div align=\"right\">"); int startTen;//当前10页起始数
if((curPages%10)==0)
startTen=(curPages/10)-1;
else
startTen=curPages/10; pageHtml.append("当前:"+curPages+"/"+totalPages+"页 "+pageRows+"条/页 共"+totalRows+"条 "); if(curPages==1){
pageHtml.append("");
}else if(curPages>10){
pageHtml.append("<a href='?"+strPage+"=1"+strParam+"' title='首页'><font face=webdings>9</font></a> <a href='?"+strPage+"="+((startTen-1)*10+10)+strParam+"' title='上十页'><font face=webdings>7</font></a> ");
}else{
pageHtml.append("<a href='?"+strPage+"=1"+strParam+"' title='首页'><font face=webdings>9</font></a> ");
}
//---------------------------
for(int i=(startTen*10+1);i<=(startTen*10+10);i++){
if(i<=totalPages){
if(i==curPages)
pageHtml.append("<font color='#FF0000'>"+i+"</font>"+" ");
else
pageHtml.append("<a href='?"+strPage+"="+i+strParam+"'>"+i+"</a> ");
}
}
//----------------------------
if(curPages>=totalPages){
pageHtml.append("");
}else if(curPages/pageRows==totalPages/pageRows && curPages%pageRows!=0){
pageHtml.append("<a href='?"+strPage+"="+totalPages+strParam+"' title='尾页'><font face=webdings>:</font></a> ");
}else{
pageHtml.append("<a href='?"+strPage+"="+((startTen+1)*10+1)+strParam+"' title='下十页'><font face=webdings>8</font></a> <a href='?"+strPage+"="+totalPages+strParam+"' title='尾页'><font face=webdings>:</font></a> ");
} pageHtml.append("<script language='JavaScript'>")
.append("function pageGo(){")
.append("var pageid=window.document.all('pagenum').value;")
.append("var checknum=/^\\d+$/g;")
.append("if(!checknum.test(pageid)){")
.append("alert('输入页码只能为正整数!');")
.append("pageid='1';")
.append("}else if(pageid<1 || pageid>"+totalPages+"){")
.append("alert('输入页码超出页码范围!');")
.append("}else if(pageid=="+curPages+"){")
.append("alert('输入页码就是当前显示页码!');")
.append("}else{")
.append("window.location='?"+strPage+"='+pageid+'"+strParam+"';")
.append("}")
.append("}")
.append("</script>"); pageHtml.append("<input name='pagenum' id='pagenum' type='text' value='"+curPages+"' size='3'><input type='button' name='cmdpage' value='GO' onClick='javascript:pageGo();'>");
pageHtml.append("</div></td></tr>");
pageHtml.append("</table>"); return pageHtml.toString();
}
}
import javax.servlet.*;// 引入servlet包
import javax.servlet.http.*;
import java.math.*;/**
**类别:数据库分页类
**作者:晨雨
**时间:2005-05-20
**/public class Page{
public int curPages;// 当前的页码值
public int pageRows; // 设置每页显示的记录数
private int totalRows;// 总记录数
private int totalPages;// 总页数
private String strPage="page";// 定义WEB的页码参数,默认为page/*
*取得页面参数page的值
*/
public void setPages(HttpServletRequest request, String page){
strPage=page; String strPage = null;// page参数变量
try{
strPage = request.getParameter(page);// request对象取得page的值
}catch(Exception e){
//System.out.println("delcolumn"+e.getMessage());
e.printStackTrace();
}
//初始化page
try{
if(strPage == null){// 默认没有就设置是第一页
curPages = 1;
}else{
curPages = Integer.parseInt(strPage);// 取得strPage的整数值
if(curPages < 1)// 如果小于1,同样返回是第一页
curPages = 1;
}
}catch(Exception e){
//System.out.print("curPages");
e.printStackTrace();
}
}/*
*设置每页要显示的记录条数
*/
public void setPageRows(int rows){
pageRows=rows;
}/*
*计算总页数的函数,在setTotalRowsPages中调用
*/
public int getTotalPages(int rowcounts){
int Pages; //总页数
if((rowcounts%pageRows)==0)// 取得余数
Pages = rowcounts/pageRows;// 每页显示的整数
else
Pages=rowcounts/pageRows+1;// 不是的话就加一
return Pages;// 返回页数
}/*
*计算总记录数和总页数
*/
public void getTotalRowsPages(String strSQL,Connection conn) throws Exception{
Statement stmt = null;
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs_count=stmt.executeQuery(strSQL);
rs_count.last();
totalRows=rs_count.getRow(); //取得总的数据数
totalPages=getTotalPages(totalRows); //取出总页数
rs_count.close();
rs_count=null;
}catch (SQLException ex) {
ex.printStackTrace();
}finally {
try {
if (stmt != null){
stmt.close();
stmt = null;
}
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
} //public void setPagesTen(int curPages){
//Math.round(); //四舍五入
//Math.floor(); //向低取整
//Math.ceil(); //向高取整
//}/*
*返回当前页的结果集的数组,参数(sql语句,得到当前页的记录集)
*/
public String[][] getArrData(String strSQL,Connection conn) throws Exception{
String[][] strArrData=null;//数据体数组 int rsCount;
rsCount=(curPages-1)*pageRows; String sql=null;
//sql=strSQL+" limit "+rsCount+","+pageRows; //mysql数据库条件方式
sql="select * from ("+strSQL+") where rownum<="+(rsCount+pageRows);
sql=sql+" minus select * from ("+strSQL+") where rownum<="+rsCount; //oracle数据库条件方式 Statement stmt = null;
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery(sql);
int cols=rs.getMetaData().getColumnCount();
rs.last();
strArrData=new String[rs.getRow()][cols];
rs.beforeFirst();
int i=0;
while(rs.next()){
for(int j=0;j<cols;j++){
strArrData[i][j]=(rs.getString(j+1)==null?"":rs.getString(j+1));
}
i++;
}
rs.close();
rs=null;
} catch(SQLException ex){
ex.printStackTrace();
}finally {
try {
if (stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
return strArrData;
}/*
*输出页码表格,参数(除page外的其他参数,显示样式)
*/
public String getPageHtml(String strParam,String style){
StringBuffer pageHtml=new StringBuffer("\n"); pageHtml.append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\">")
.append("<tr><td class="+style+"><div align=\"right\">"); int startTen;//当前10页起始数
if((curPages%10)==0)
startTen=(curPages/10)-1;
else
startTen=curPages/10; pageHtml.append("当前:"+curPages+"/"+totalPages+"页 "+pageRows+"条/页 共"+totalRows+"条 "); if(curPages==1){
pageHtml.append("");
}else if(curPages>10){
pageHtml.append("<a href='?"+strPage+"=1"+strParam+"' title='首页'><font face=webdings>9</font></a> <a href='?"+strPage+"="+((startTen-1)*10+10)+strParam+"' title='上十页'><font face=webdings>7</font></a> ");
}else{
pageHtml.append("<a href='?"+strPage+"=1"+strParam+"' title='首页'><font face=webdings>9</font></a> ");
}
//---------------------------
for(int i=(startTen*10+1);i<=(startTen*10+10);i++){
if(i<=totalPages){
if(i==curPages)
pageHtml.append("<font color='#FF0000'>"+i+"</font>"+" ");
else
pageHtml.append("<a href='?"+strPage+"="+i+strParam+"'>"+i+"</a> ");
}
}
//----------------------------
if(curPages>=totalPages){
pageHtml.append("");
}else if(curPages/pageRows==totalPages/pageRows && curPages%pageRows!=0){
pageHtml.append("<a href='?"+strPage+"="+totalPages+strParam+"' title='尾页'><font face=webdings>:</font></a> ");
}else{
pageHtml.append("<a href='?"+strPage+"="+((startTen+1)*10+1)+strParam+"' title='下十页'><font face=webdings>8</font></a> <a href='?"+strPage+"="+totalPages+strParam+"' title='尾页'><font face=webdings>:</font></a> ");
} pageHtml.append("<script language='JavaScript'>")
.append("function pageGo(){")
.append("var pageid=window.document.all('pagenum').value;")
.append("var checknum=/^\\d+$/g;")
.append("if(!checknum.test(pageid)){")
.append("alert('输入页码只能为正整数!');")
.append("pageid='1';")
.append("}else if(pageid<1 || pageid>"+totalPages+"){")
.append("alert('输入页码超出页码范围!');")
.append("}else if(pageid=="+curPages+"){")
.append("alert('输入页码就是当前显示页码!');")
.append("}else{")
.append("window.location='?"+strPage+"='+pageid+'"+strParam+"';")
.append("}")
.append("}")
.append("</script>"); pageHtml.append("<input name='pagenum' id='pagenum' type='text' value='"+curPages+"' size='3'><input type='button' name='cmdpage' value='GO' onClick='javascript:pageGo();'>");
pageHtml.append("</div></td></tr>");
pageHtml.append("</table>"); return pageHtml.toString();
}
}
解决方案 »
- java调用webservice
- 关于servlet的问题!请高手赐教!
- 哪个高手知道JSP中怎么应用其他字体
- ajax问题
- JS问题:一个 <Form> 表单可以提交给两个页面处理吗?
- HttpClient如何接收有ModelAndView返回的数据
- 菜鸟问题,JSP文件中怎么使用JAVABEAN?(在线等)
- 急急急 jspsmartupload 怎么在jbuilder中搞不出来 快来救命阿
- 关于在tomcat中设置浏览权限再问?
- 怎样在一个类中调用另一个类的函数,100分求教!!!
- (50分)JBulider2005运行JSP文件报错,急等解决~~
- 紧急求助,jsp+tomcat5+oracle9如何进行连接?!!!!!!!!!!!!!!!!!
<%@ page contentType="text/html; charset=GB2312"%>
<%@page import="com.beans.database.*"%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="" name="form1">
<%
try{
String sql = "select * from tabelName";
Page page = new Page();
page.setPages(request,"pagenum");
page.setPageRows(10);
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.1:1521:orcl","user","password");
page.getTotalRowsPages(sql,conn);
String[][] pages = page.getArrData(sql, con)
}catch (Exception e) {
System.out.println(e.toString(););
}
%>
<TABLE>
<% for(int i = 0;i<pages.length;i++){%>
<TR>
<%
String[] a = pages[i];
%>
<% for(int j=0;j<a.length;j++){%>
<TD><%=a[j]%></TD>
<%}%>
</TR>
<%}%>
</TABLE>
<%=page.getPageHtml(0,"");%>
</FORM>
</BODY>
</HTML>
错误如下:
"jsp3.jsp": ')' expected
"jsp3.jsp": illegal start of expressionlndlmy() 大哥,帮人帮到底,给调试一下,弄个好使得
import java.util.ArrayList;
import java.util.Random;
public class PageUtil {
private java.util.List list;
private int ipage; //当前第几页
private int pages; //共多少页
private int rows = 5; //每页条数,默认
private int first; //首页
private int prev; //前一页
private int next; //下一页
private int last; //最后一页
private int counts; //总条数
private int begin; //每页从第几条开始
private int end; //结束于于第几条
private String title; ///temp form fala wap public PageUtil(int ipage, List list) {
if (list == null || list.size() == 0) {
return;
}
if (ipage <= 0) {
ipage = 1;
}
this.ipage = ipage;
setup(list);
} public PageUtil(int ipage, List listt, boolean random) {
if (listt == null || listt.size() == 0) {
return;
}
if (ipage <= 0) {
ipage = 1;
}
this.ipage = ipage;
setupRandom(listt);
} public PageUtil(int rows, int ipage, List list) {
if (list == null || list.size() == 0) {
return;
}
if (ipage <= 0) {
ipage = 1;
}
if (rows >= 1) {
this.rows = rows;
} this.rows = rows;
this.ipage = ipage;
setup(list);
} public java.util.List getList() {
if (this.list == null) {
this.list = new ArrayList();
}
return this.list;
} private void setList(java.util.List list) {
setup(list);
} public int getIpage() {
return ipage;
} private void setIpage(int ipage) {
this.ipage = ipage;
} public int getPages() {
return pages;
} private void setPages(int pages) {
this.pages = pages;
} public int getRows() {
return rows;
} public int getFirst() {
return first;
} private void setFirst(int first) {
this.first = first;
} public int getPrev() {
return prev;
} private void setPrev(int prev) {
this.prev = prev;
} public int getNext() {
return next;
} private void setNext(int next) {
this.next = next;
} public int getLast() {
return last;
} private void setLast(int last) {
this.last = last;
} public int getCounts() {
return counts;
} private void setCounts(int counts) {
this.counts = counts;
} public int getBegin() {
return begin;
} private void setBegin(int begin) {
this.begin = begin;
} public int getEnd() {
return end;
} private void setEnd(int end) {
this.end = end;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} private void setup(List list) {
if (list == null || list.size() == 0) {
this.list = new ArrayList();
return;
} //如果为空,返回
this.counts = list.size(); //总记录数
this.pages = (int) (counts - 1) / rows + 1; //总页数
if (this.ipage > pages) {
this.ipage = pages;
}
if (this.ipage < 0) {
this.ipage = 1;
}
if (this.pages == 1) {
this.list = list;
this.ipage = 1;
this.begin = 1;
this.end = counts;
return;
}
if (this.ipage == 1) {
this.list = list.subList(0, rows);
this.next = ipage + 1;
this.last = pages;
this.begin = 1;
this.end = rows;
return;
}
if (ipage == pages) {
this.first = 1;
this.prev = ipage - 1;
this.begin = prev * rows + 1;
this.end = counts;
this.list = list.subList(begin - 1, end);
return;
}
this.first = 1;
this.prev = ipage - 1;
this.next = ipage + 1;
this.last = pages; this.begin = (ipage - 1) * rows + 1;
this.end = begin + rows - 1;
this.list = list.subList(prev * rows, ipage * rows);
} public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("共有")
.append(counts)
.append("记录")
.append(" 分")
.append(pages)
.append("页 每页")
.append(rows)
.append("条记录")
.append(" 当前第")
.append(ipage)
.append("页 第")
.append(begin)
.append("条到第")
.append(end)
.append("条")
.append("首页[" + first + "]上一页[" + prev + "]下一页[" + next + "]尾页[" + last +
"]"); return sb.toString();
} public static void main(String args[]) {
ArrayList list = new ArrayList();
for (int i = 0; i < 20; i++) {
list.add(new String("a#" + i));
}
PageUtil page = new PageUtil(3, 10, list);
List list2 = page.getList();
for (int i = 0; i < list2.size(); i++) {
System.out.println( (String) list2.get(i));
}
}
}
这个改一改,看能用不.用的sybase,临时用一下,呵,