社区
Web 开发
帖子详情
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
freemao
2004-09-07 03:39:55
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
...全文
274
10
打赏
收藏
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
baffling
2004-11-02
打赏
举报
回复
gz
Ronanljy
2004-09-08
打赏
举报
回复
不好意思记错了,应该是"共几页、每页几项、当前第几页",出来就是一个页面显示的html代码的字符串。
To:liuyb94242() 我的方法比较粗,但是已经够用了。每次都要查数据库,查出所有数据。
这里是可以得到总记录条数的语句:
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();
剑事
2004-09-07
打赏
举报
回复
package com;
import conn.DBConnManager;
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;
}
}
自己写的
sunboyyq
2004-09-07
打赏
举报
回复
分页是比较麻烦的,多学习javabean吧,偶也关注。
tangbow
2004-09-07
打赏
举报
回复
研究一下struts 的分页方式
liuyb94242
2004-09-07
打赏
举报
回复
to Ronanljy(心灵风暴)
你之前查询数据库时把所有的结果查出来了保存起来吗,
每次翻页时都要调用后台这个类,每次用不用查数据库?
a_tong
2004-09-07
打赏
举报
回复
public class ChangePageDAO {
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;
}
這兩個類,
a_tong
2004-09-07
打赏
举报
回复
給分
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;
}
}
Ronanljy
2004-09-07
打赏
举报
回复
你把分页在后台封装起来,传三个参数进去:共几条记录、每页几项、当前第几页,传出的是一个字符串,在页面上显示出来为分页的内容。(当然查询数据库要在这之前另外做)
不知道说得清楚不?我们公司就是这样分页的。
wangnewton
2004-09-07
打赏
举报
回复
直接写一个公用的类(javabean)
到时直接调用就可以了
至于如何写javabean,一句两句也说不清楚,可以参考相关书籍看看
如何使用标签,这个偶正在研究中,有点底子之后欧会发文的
赫赫
jsp+
JavaBean
+Servlet
分页
用jsp+
JavaBean
+Servlet
实现
的
分页
,有不足之处请指教
javabean
-DATABASE.rar_ java bean_java database_
javabean
使用bean可以简化页面代码,将逻辑封装到bean中,并使用它
实现
数据库
分页
jsp
分页
上传文件
分页
代码的具体
实现
上传文件的具体代码
实现
bean类
分页
代码是
分页
显示
山东建筑大学J2EE讲义
J2EE的讲义,郭庆老师编著的,请大家仅用作学习用,不要用于商业或其他用途!
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章