1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
[#--分页思路 1
每页显示固定的页数 尽量保持当前页在显示的*部位 1 . 如果当前页号小于或者等于页面要显示的页数的一半 则按照以下算法计算显示
如果总页数小于或者等于页面要显示的页数 则从第一页显示到总页数(最后一页)
如果总页数大于页面要显示的页数 则从第一页显示到页面要显示的页数
2 . 如果当前页号大于页面要显示的页数的一半,则按照以下算法计算显示
如果总页数小于或者等于(当前页 + 页面要显示的页数的一半) 则从(当前页号-页面要显示的页数的一半) 显示到 总页数
如果总页数大于(当前页 + 页面要显示的页数的一半) 则从(当前页号-页面要显示的页数的一半) 显示到 (当前页数号+页面要显示的页数的一半)
--] [#macro pager url totalPage curPage= 1 class = "" showPageNum= 5 ]
[#local halfPage=(showPageNum/ 2 )? int /]
[ @showFirstPage url=url class = class curPage= 1 /]
[# if (curPage > 1 )]
[ @showPrePage url=url class = class curPage=curPage- 1 /]
[/# if ]
[# if (halfPage>=curPage)]
[# if (showPageNum >= totalPage)]
[ @showPage start= 1 end=totalPage url=url class = class curPage=curPage/]
[# else ]
[ @showPage start= 1 end=showPageNum url=url class = class curPage=curPage /]
[/# if ]
[# else ]
[# if (curPage+halfPage>totalPage)]
[ @showPage start=(curPage-halfPage) end=totalPage url=url class = class curPage=curPage/]
[# else ]
[ @showPage start=(curPage-halfPage) end=curPage+halfPage url=url class = class curPage=curPage/]
[/# if ]
[/# if ]
[# if (totalPage > curPage)]
[ @showNextPage url=url class = class curPage=(curPage+ 1 ) /]
[/# if ]
[ @showLastPage url=url class = class curPage=totalPage /]
共[${totalPage}]页
[/#macro] [#macro showPage start end url class curPage]
[#list start..end as page]
[# if curPage==page]
[${page}]
[# else ]
<a href= "${url}&pageIndex=${page}" class = "${class}" >${page}</a>
[/# if ]
[/#list]
[/#macro] [#--显示首页--] [#macro showFirstPage url class curPage]
<a href= "${url}&pageIndex=${curPage}" class = "${class}" >首页</a>
[/#macro] [#--显示上一页--] [#macro showPrePage url class curPage]
<a href= "${url}&pageIndex=${curPage}" class = "${class}" >上一页</a>
[/#macro] [#--显示下一页--] [#macro showNextPage url class curPage]
<a href= "${url}&pageIndex=${curPage}" class = "${class}" >下一页</a>
[/#macro] [#--显示尾页--] [#macro showLastPage url class curPage]
<a href= "${url}&pageIndex=${curPage}" class = "${class}" >尾页</a>
[/#macro] [#---------------------------------------------------------------------------------------------] [#-- 分页思路 2
每页显示固定的页数 尽量保持当前页在显示的*部位 1 . 如果总页数小于等于页面要显示的页数 则从第一页显示到总页数(最后一页)
2 . 如果总页数大于页面要显示的页数 则按照一下算法显示
如果当前页数小于等于要页面显示的页数的一半 则从第一页显示到 页面要显示的页数个页
如果当前页数大于要显示的页数的一半 则从 (当前页数-页面要显示的页数的一半) 显示到(当前页数+要显示的页数的一半)处
--] [#macro new_pager url totalPage curPage= 1 class = "" showPageNum= 5 ]
[#local halfPage=(showPageNum/ 2 )? int /]
[ @showFirstPage url=url class = class curPage= 1 /]
[# if (curPage > 1 )]
[ @showPrePage url=url class = class curPage=curPage- 1 /]
[/# if ]
[#----显示中间页面 start---]
[# if (showPageNum>=totalPage)]
[ @showPage start= 1 end=totalPage url=url class = class curPage=curPage/]
[# else ]
[# if (halfPage>=curPage)]
[ @showPage start= 1 end=showPageNum url=url class = class curPage=curPage/]
[# else ]
[ @showPage start=(curPage-halfPage) end=curPage+halfPage url=url class = class curPage=curPage/]
[/# if ]
[/# if ]
[#----显示中间页面 end---]
[# if (totalPage > curPage)]
[ @showNextPage url=url class = class curPage=(curPage+ 1 ) /]
[/# if ]
[ @showLastPage url=url class = class curPage=totalPage /]
共[${totalPage}]页
[/#macro] |
本文转自arac 51CTO博客,原文链接:http://blog.51cto.com/skyarac/1717927,如需转载请自行联系原作者