社区
Web 开发
帖子详情
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
freemao
2004-09-07 03:39:55
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
...全文
290
10
打赏
收藏
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
怎么把分页程序放到javabean或是标签来实现,每次只是调用就行。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
分页
3. **渲染JSP页面**:`jsp`页面接收到`Servlet`传递的数据后,使用EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)
标签
来获取`PageBean`的属性,展示当前页的数据。同时,根据总页数生成...
javabean
-DATABASE.rar_ java bean_java database_
javabean
在本压缩包"
javabean
-DATABASE.rar"中,重点讲述了如何利用Java Bean来简化Web页面的代码,并且
实现
与数据库的交互,特别是数据库
分页
功能。 首先,理解Java Bean的概念是至关重要的。Java Bean遵循一定的规范,...
分页
代码是
总结来说,
JavaBean
(如`PageBean`)负责数据处理和封装
分页
逻辑,Servlet作为控制器处理请求和响应,JSP则负责展示数据和构建用户界面。通过这样的三层架构,我们可以构建出一套完整的
分页
系统,既能高效地处理大量...
最新Java面试宝典pdf版
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...
基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)
Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用
程序
的部署很简单,你只需将你的WAR
放到
Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很...
Web 开发
81,115
社区成员
341,737
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章