1
<
script language
=
"
JavaScript
"
type
=
"
text/JavaScript
"
>
2
function
getServerList(dir,curpage,totalpage,totalrecordcount)
{
3
var
page;
4
if
(dir
==
"
first
"
)
{ page
=
1
;}
5
if
(dir
==
"
last
"
)
{page
=
totalpage ;}
6
if
(dir
==
"
previous
"
)
{
7
if
(curpage
==
"
1
"
)
{
8
page
=
1
;
9
}
else
{
10
page
=
parseInt(curpage)
-
parseInt(
1
);
11
}
12
}
13
if
(dir
==
"
next
"
)
{
14
if
(parseInt(curpage)
<
parseInt(totalpage))
{
15
page
=
parseInt(curpage)
+
parseInt(
1
);
16
}
else
{
17
page
=
totalpage;
18
}
19
}
20
//
alert(page);
21
var
action
=
"
***.shtml
"
;
22
document.location.href
=
action
+
"
?page=
"
+
page;
23
}
24
</
script
>
getServerList(p1,p2,p3,p4),其中传递四个参数,分别表示页面转向eg.前一页,后一页;当前页;所有页;所有记录数;
在页面上四个页面转换方向都周用getServerList(p1,p2,p3,p4);p1值根据首页设置'first',下一页'next'等,p2,p3,p4值都相等.
取得分页所得数据的主要代码如下:
1
String page= request.getParameter("page");
2
String to=request.getParameter("toPage");
3
int someCount= getSystemManager().getAdvertisementCount();
4
int pageCount= 0;
5
if(someCount<Constants.PAGENATION_RECORDS_COUNT)
{
6
pageCount=someCount==0?0:1;
7
}else
{
8
if(someCount%Constants.PAGENATION_RECORDS_COUNT==0)
{
9
pageCount=someCount/Constants.PAGENATION_RECORDS_COUNT;
10
}else
{
11
pageCount=someCount/Constants.PAGENATION_RECORDS_COUNT+1;
12
}
13
}
14
paramMap.put("totalRecordCount",someCount);
15
paramMap.put("totalPage",pageCount);
16
paramMap.put("rcount",Constants.PAGENATION_RECORDS_COUNT);
17
if(to!=null&&to.trim().length()>0)
{
18
if(Integer.parseInt(to)>pageCount)
{
19
paramMap.put("toPage", pageCount);
20
}else
{
21
paramMap.put("toPage",to);
22
}
23
paramMap.put("currentPage",Integer.parseInt(to));
24
}
25
if(page!=null)
{
26
paramMap.put("toPage",page);
27
paramMap.put("currentPage",Integer.parseInt(page));
28
}
29
if(to==null&&page==null)
{
30
paramMap.put("toPage","1");
31
paramMap.put("currentPage","1");
32
}
33
if(paramMap.get("toPage")==null)
{
34
paramMap.put("toPage","1");
35
paramMap.put("currentPage","1");
36
}
37
List adsList = getSystemManager().getLiveAdverAndServerList(paramMap); getLiveServerList(paramMap)这个参数Map中用到两个值toPage,rcount(每页显示记录数),
可以根据toPage的不同, Limit出不同段的数据.
select * from table_name LIMIT startrecord,pagecount