谁做过(大段文字)分页显示

cute 03-03-26

领导要求用这种方式实现。。。 没有思路。。

大家有没有例子???

谁能梆梆忙。。 有人做过马??

zz
2003-03-26 21:41

没做过,我考虑如下两类情况:
1、“大段文字”集中储存(如:储存在一个table的某个字段中)
那么无论是使用请求时动态生成还是预先生成若干分页,都存在
根据“大段文字”“自动”格式化成分页页面的过程,这个过程是
很复杂的,加上“图文并茂”的要求就很难实现的,不考虑

2、“大段文字”分页面存储(如:n页存n条记录)
由录入人员在录入的时候完成排版分页工作,实际上是把“大段
文字”当成若干个“小段文字”,一篇文章当成多篇文章处理。这需要
额外记录这些“子文章”之间的关系,也可以做的如分“上、中、下”
分不同的时间发布一系列文章等等

一个想法,欢迎大家讨论,呵呵要有作过的同志介绍介绍经验就更好了

cute
2003-03-27 08:59

欢迎大家讨论。实现过程不是很难(作之前考虑地问题很多,其实不然)。主要是你是否对类库的了解。知道函数后。就可以方便地作出。
本程序。主要用到了两个函数: session substring 。程序只实现了:
首页 上页 下页 尾页 。有不足的地方,大家可以提出。
(完全测试通过)

源程序:
---------------




<%
final int perpage=2000;//每页显示汉字数
boolean flagDown=true;
//决定上下页
boolean flagUp=true;
int count=0;
//文章的总数字
int countper=0;
//总页数
int x=0;
//起始位置
int y=perpage;
//结束位置
CONTENT=(String)session.getAttribute(
"CONTENT");//获取文章
if(CONTENT!=null){

count=CONTENT.length();
//得到文章的总记录数
countper=count/perpage;
/* int tmp=count%perpage;
if(tmp==1){ //如果有余数

countper=countper+1; //总页数加一
}
*/


}
String Updown=request.getParameter(
"fzid");//判断上下页

if(Updown!=null){

x=Integer.parseInt(Updown);
if(x==1){

y=count;
x=count-perpage;

flagDown=false;
}else{
/* 翻页显示调整 */

y=x;
x=y-perpage;

}
}

if(count<=perpage){
//如果总记录数小于 每页显示汉字数 则直接输出

out.print(CONTENT);

}else{
//大于 每页显示汉字数 进行分页显示

if(y>count){
//判断是否到(文章结尾)

y=y-perpage;
x=y;
y=count;
flagDown=false;
}

if(Updown==null||x<=0){
//判断是否到(文章开始)

x=0;
y=perpage;

flagUp=false;
}



CONTENT=CONTENT.substring(x,y);
//决定位置

out.print(
"<div align=left>"+CONTENT+"</div>"); //输出内容

out.print(
"<br><br><br><br>");
out.print(
"<div align=center>");

if(countper>0){
out.print(
"总页数("+(countper+1)+")&nbsp");

}

if(!flagUp==false){
//判断是否(文章开始)

out.print(
"<a href=index_fz_dis.jsp?fzid="+(0)+">首页</a>&nbsp");
out.print(
"<a href=index_fz_dis.jsp?fzid="+(y-perpage)+">上一页</a>&nbsp;&nbsp");

}
if(!flagDown==false){
//判断是否到(文章结尾)

out.print(
"<a href=index_fz_dis.jsp?fzid="+(y+perpage)+">下一页</a>&nbsp;");
out.print(
"<a href=index_fz_dis.jsp?fzid="+(1)+">尾页</a>");

}
}
// else 判断 结束
out.print(
"</div>");
%>

banq
2003-03-27 15:39

参考jive的分页显示
如果在EJB环境中,使用DAO访问数据库

cute
2003-03-28 11:25

谢斑竹指点。我再作完善一些。。。

---