读书人

求jsp长文章自动分页解决方法(有源码最

发布时间: 2012-03-02 14:40:29 作者: rapoo

求jsp长文章自动分页解决办法(有源码最好)
求jsp长文章自动分页解决办法(有源码最好)

[解决办法]
顶一下!
[解决办法]
支持下
[解决办法]
顶一下 我也想知道
[解决办法]
js 帮你搞定
下面代码直接用ie运行:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME= "Generator " CONTENT= "EditPlus ">
<META NAME= "Author " CONTENT= " ">
<META NAME= "Keywords " CONTENT= " ">
<META NAME= "Description " CONTENT= " ">
</HEAD>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
var pageCount=0;
var nowPage=1;
var pageLine=10;//每页行数,可以调整
var text;
var totalLine=0;
var page=new Object();

function readText(){
text=document.getElementById( "text ").innerHTML;
var temp=text;
var count=0;
var line;
while(temp.indexOf( "\n ")> 0){
if(count==0) {
pageCount++;
eval( "page.page "+pageCount+ "=\ "\ " ");
}

totalLine++;
count++;
line=temp.substring(0,temp.indexOf( "\n "));
eval( "page.page "+pageCount+ "=page.page "+pageCount+ "+line+\ " <br> \ " ");

if(count> 9) count=0;
temp=temp.substring(temp.indexOf( "\n ")+1);
}
eval( "page.page "+pageCount+ "=page.page "+pageCount+ "+temp ");

}

function getStartPage(){
document.getElementById( "text ").innerHTML=page.page1;
}
function getEndPage(){
document.getElementById( "text ").innerHTML=eval( "page.page "+pageCount);
}
function getPage(p){
nowPage=nowPage+p;
if(nowPage <1) nowPage=1;
if(nowPage> pageCount) nowPage= pageCount;
document.getElementById( "text ").innerHTML=eval( "page.page "+nowPage);
}


//-->
</SCRIPT>
<BODY>
<pre id= "text ">
gggggggggg1
gggggggggg2
gggggggggg3
gggggggggg4
gggggggggg5
gggggggggg6
gggggggggg7
gggggggggg8
gggggggggg9
gggggggggg10
gggggggggg11
gggggggggg12
gggggggggg13
gggggggggg14
gggggggggg15
gggggggggg16
gggggggggg17
gggggggggg18
gggggggggg19
gggggggggg20
gggggggggg21
gggggggggg22
gggggggggg23
gggggggggg24
gggggggggg25
gggggggggg26
</pre>

<TABLE align=center>
<TR>
<TD> <A HREF= "javascript:getStartPage() "> 首页 </A> </TD>
<TD> <A HREF= "javascript:getPage(-1) "> 上一页 </A> </TD>
<TD> <A HREF= "javascript:getPage(1) "> 下一页 </A> </TD>
<TD> <A HREF= "javascript:getEndPage() "> 末页 </A> </TD>
</TR>
</TABLE>

</BODY> <SCRIPT LANGUAGE= "JavaScript ">
<!--
readText();
getStartPage();
//-->
</SCRIPT>
</HTML>



------解决方案--------------------


楼上的js解决很完美了,我提供一个思路,在服务器端解决,这样可以避免js在客户端第一次加载页面时间比较长的问题。

在从数据库中读出长文章内容字段的时候,写一个存储过程,把页码当参数传入存储过程,然后返回的是文章内容的一部分(即一页),这样,虽然每次翻页的时候都要访问数据库,但是每次都只从数据库返回部分内容,不会出现长时间等待。
[解决办法]
用js的方法很好,如果说用ls的方法的话有个问题,就是一旦数据库中存储的文章中不但有文字,还有一些格式代码的话,可能会被截断。

读书人网 >Java Web开发

热点推荐