直接写一个公用的类(javabean)到时直接调用就可以了至于如何写javabean,一句两句也说不清楚,可以参考相关书籍看看
如何使用标签,这个偶正在研究中,有点底子之后欧会发文的
赫赫
如何使用标签,这个偶正在研究中,有点底子之后欧会发文的
赫赫
解决方案 »
- jsp关于form表单为两个按钮设置不同action的问题
- javascript中===什么意思?
- 关于getParameterNames方法相关的问题
- en
- 求助JSP+在页面文本框内显示数据时,数据库里的字符数据 等怎么转换成空格等?
- 在JSP中访问数据库大全(连)
- 问一个基础问题!!!
- servlet/jsp/javabean结构,比如在一个客户端页面追加数据记录,成功后想在客户端显示一个共用提示成功页面,客户点OK然后回到追加数据页面
- 乱码怎么办?
- 请问localhost、127.0.0.1与 本机ip 在请求http服务时有什么不同?
- form提交问题,求助!!
- 高手本机运行没问题,到了服务器就不行了?
public class ChangePage {
private int pageIndex = 0;
private int viewType = 0;
private boolean firstStatus = false;
private boolean forwardSatus = false;
private boolean nextStatus = false;
private boolean lastStatus = false;
private boolean allView = true;
private int start=0;
private int end=0;
private int maxPage=0; public void ChangePage() { } public int getPageIndex() {
return pageIndex;
} public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
} public int getViewType() {
return viewType;
} public void setViewType(int viewType) {
this.viewType = viewType;
} public boolean isFirstStatus() {
return firstStatus;
} public void setFirstStatus(boolean firstStatus) {
this.firstStatus = firstStatus;
} public boolean isForwardSatus() {
return forwardSatus;
} public void setForwardSatus(boolean forwardSatus) {
this.forwardSatus = forwardSatus;
} public boolean isNextStatus() {
return nextStatus;
} public void setNextStatus(boolean nextStatus) {
this.nextStatus = nextStatus;
} public boolean isLastStatus() {
return lastStatus;
} public void setLastStatus(boolean lastStatus) {
this.lastStatus = lastStatus;
} public boolean isAllView() {
return allView;
} public void setAllView(boolean allView) {
this.allView = allView;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public int getMaxPage() {
return maxPage;
}
public void setMaxPage(int maxPage) {
this.maxPage = maxPage;
}
}
private static ChangePageDAO _self;
public static ChangePageDAO getInstance() {
if (_self == null) {
_self = new ChangePageDAO();
}
return _self;
} public ChangePage getChangePageInfo(int pageIndex, int type, int rowCount,int allCount) {
ChangePage changePage = null;
int maxPage=allCount/rowCount;
if (pageIndex >= 0 && type >= 0 && rowCount >= 0) {
changePage=new ChangePage();
changePage.setMaxPage(maxPage);
if(allCount % rowCount==0&&allCount>0){
maxPage=maxPage-1;
}
switch (type) {
case 1:
changePage.setPageIndex(0);
changePage.setStart(0);
changePage.setEnd(rowCount);
changePage.setFirstStatus(false);
changePage.setForwardSatus(false);
pageIndex=0;
if(pageIndex==maxPage){
changePage.setNextStatus(false);
}
else{
changePage.setNextStatus(true);
}
if(pageIndex==maxPage){
changePage.setLastStatus(false);
}
else{
changePage.setLastStatus(true);
}
break;
case 2:
if(pageIndex>0){
pageIndex=pageIndex-1;
}
changePage.setPageIndex(pageIndex);
changePage.setStart(pageIndex*rowCount);
changePage.setEnd(changePage.getStart()+rowCount);
if(pageIndex==0){
changePage.setFirstStatus(false);
}
else{
changePage.setFirstStatus(true);
}
if(pageIndex==0){
changePage.setForwardSatus(false);
}
else{
changePage.setForwardSatus(true);
}
if(pageIndex==maxPage){
changePage.setNextStatus(false);
}
else{
changePage.setNextStatus(true);
}
if(pageIndex==maxPage){
changePage.setLastStatus(false);
}
else{
changePage.setLastStatus(true);
}
break;
case 3:
if(pageIndex>=0&&pageIndex<maxPage){
pageIndex=pageIndex+1;
}
changePage.setPageIndex(pageIndex);
changePage.setStart(pageIndex*rowCount);
changePage.setEnd(changePage.getStart()+rowCount);
if(changePage.getEnd()>allCount){
changePage.setEnd(allCount);
}
if(pageIndex==0){
changePage.setFirstStatus(false);
}
else{
changePage.setFirstStatus(true);
}
if(pageIndex==0){
changePage.setForwardSatus(false);
}
else{
changePage.setForwardSatus(true);
} if(pageIndex==maxPage){
changePage.setNextStatus(false);
}
else{
changePage.setNextStatus(true);
}
if(pageIndex==maxPage){
changePage.setLastStatus(false);
}
else{
changePage.setLastStatus(true);
}
break; case 4:
changePage.setPageIndex(maxPage);
changePage.setStart(maxPage*rowCount);
changePage.setEnd(allCount);
pageIndex=maxPage;
if(pageIndex==0){
changePage.setFirstStatus(false);
}
else{
changePage.setFirstStatus(true);
}
if(pageIndex==0){
changePage.setForwardSatus(false);
}
else{
changePage.setForwardSatus(true);
}
changePage.setNextStatus(false);
changePage.setLastStatus(false);
break;
case 5:
changePage.setPageIndex(0);
changePage.setStart(0);
changePage.setEnd(allCount);
changePage.setFirstStatus(false);
changePage.setForwardSatus(false);
changePage.setNextStatus(false);
changePage.setLastStatus(false);
changePage.setAllView(false);
break;
case 6:
changePage.setPageIndex(pageIndex);
changePage.setStart(pageIndex*rowCount);
changePage.setEnd(changePage.getStart()+rowCount);
if(changePage.getEnd()>allCount){
changePage.setEnd(allCount);
}
if(pageIndex==0){
changePage.setFirstStatus(false);
}
else{
changePage.setFirstStatus(true);
}
if(pageIndex==0){
changePage.setForwardSatus(false);
}
else{
changePage.setForwardSatus(true);
}
if(pageIndex==maxPage){
changePage.setNextStatus(false);
}
else{
changePage.setNextStatus(true);
}
if(pageIndex==maxPage){
changePage.setLastStatus(false);
}
else{
changePage.setLastStatus(true);
}
break;
default:
changePage.setPageIndex(0);
changePage.setStart(0);
changePage.setEnd(rowCount);
if(changePage.getEnd()>allCount){
changePage.setEnd(allCount);
}
changePage.setFirstStatus(false);
changePage.setForwardSatus(false);
if(pageIndex==maxPage){
changePage.setNextStatus(false);
}
else{
changePage.setNextStatus(true);
}
if(pageIndex==maxPage){
changePage.setLastStatus(false);
}
else{
changePage.setLastStatus(true);
}
break;
}
}
return changePage;
}這兩個類,
你之前查询数据库时把所有的结果查出来了保存起来吗,
每次翻页时都要调用后台这个类,每次用不用查数据库?
import java.sql.*;
import java.util.*;public class ResultGatherPro
{
String sql;
int intPageSize; //每页行数
public int intRowCount;
int intPageCount;
int intPage; //页号
String Counter; public ResultGatherPro(String sqlcom,int rownum,int pagenum,String counter)
{
sql=sqlcom;
intPageSize = rownum;
intPage = pagenum;
Counter = counter;
}
public List selectRS()
{
List rsall = new ArrayList();
Map rsTree;
try{
DBConnManager conn = new DBConnManager();
Connection con = conn.getConnection("mssql");
Statement st = con.createStatement();
ResultSet rsc=st.executeQuery(Counter);
while(rsc.next())
{
intRowCount=rsc.getInt("allrow");
}
rsc.close();
st.close();
CallableStatement stmt = con.prepareCall("{call p_show(\""+sql+"\","+intPageSize+","+intPage+")}");
ResultSet rs = stmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
Object[] aa = new Object[numberOfColumns-1];
intPageCount = (intRowCount+intPageSize-1)/intPageSize;
while(rs.next())
{
rsTree = new HashMap(numberOfColumns);
for(int r=1;r<numberOfColumns+1;r++)
{
rsTree.put(rsmd.getColumnName(r),rs.getObject(r));
}
rsall.add(rsTree);
}
rs.close();
stmt.close();
conn.releaseConnection("mssql",con);
}catch(java.lang.Exception ex){
ex.printStackTrace();
}
return rsall;
}
public String ChangePage(String pagename,String url)
{
String urlchange=null;
if(intPage>1 && intPage<intPageCount)
{
urlchange="<a href="+pagename+"?pagenum="+(intPage-1)+url+">上一页</a><a href="+pagename+"?pagenum="+(intPage+1)+url+"> 下一页</a> 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
}else if(intPage==1 && intRowCount<=intPageSize){
urlchange="上一页 下一页 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
}else if(intPage==intPageCount && intPage!=1){
urlchange="<a href="+pagename+"?pagenum="+(intPage-1)+url+">上一页</a> 下一页 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
}else if(intPage==1 && intRowCount>=intPageSize){
urlchange="上一页 <a href="+pagename+"?pagenum="+(intPage+1)+url+"> 下一页</a> 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
}
return urlchange;
}
}自己写的
ResultSet rs = stmt.executeQuery(query);
rs.last();
int result = rs.getRow();
除一下就是总页数。数据库操作:
ResultSet rs = stmt.executeQuery(query);
int index = (page - 1) * pageSize;
if (index > 0)
{
rs.absolute(index);
}
for (int i = 0; i < pageSize && rs.next(); i++)
{
封装到Vector;
}
rs.close();