<#-- 自定义的分页指令。
属性说明:
page 当前页号(int类型)
pageSize 每页要显示的记录数(int类型)
toURL 点击分页标签时要跳转到的目标URL(string类型)
totalRecords 总记录数(int类型)
使用方式:
<#if totalRecords??>
<#import "/pager.ftl" as q>
<@q.pager page=page pageSize=pageSize totalRecords=totalRecords toURL="testpager.action"/>
</#if>
-->
<#assign spring=JspTaglibs["/WEB-INF/tld/spring.tld"]>
<#macro pager page pageSize toURL totalRecords>
<#-- 定义局部变量pageCount保存总页数 -->
<#assign pageCount=((totalRecords + pageSize - 1) / pageSize)?int>
<#if totalRecords==0><#return/></#if>
<#-- 页号越界处理 -->
<#if (page > pageCount)>
<#assign page=pageCount>
</#if>
<#if (page < 1)>
<#assign page=1>
</#if>
<#-- 输出分页表单 -->
<div class="sucPath">
<div class="snPages">
<#-- 把请求中的所有参数当作隐藏表单域(无法解决一个参数对应多个值的情况)-->
<#list RequestParameters?keys as key>
<#if (key!="page" && RequestParameters[key]??)>
<input type="hidden" name="${key}" value="${RequestParameters[key]}"/>
</#if>
</#list>
<#--<form method="post" action="" name="qPagerForm">-->
<input type="hidden" id="page" name="page" value="${page}"/>
<#-- 上一页处理 -->
<#if (page == 1)>
<span class="prev"><b></b> <@spring.message code="page.previouspage"/></span>
<#else>
<#-- <span class="prev"><b></b> <a href="###" onclick="jumpPage(${page - 1},'${toURL}')">« <@spring.message code="page.previouspage"/></a></span>-->
<a href="###" class="prev" onclick="jumpPage(${page - 1},'${toURL}')"><b></b> <@spring.message code="page.previouspage"/></a>
</#if>
<#-- 如果前面页数过多,显示... -->
<#assign start=1>
<#if (page > 4)>
<#assign start=(page - 1)>
<a href="###" onclick="jumpPage(1,'${toURL}')" >1</a>
<a href="###" onclick="jumpPage(2,'${toURL}')" >2</a>
<span>…</span>
</#if>
<#-- 显示当前页号和它附近的页号 -->
<#assign end=(page + 1)>
<#if (end > pageCount)>
<#assign end=pageCount>
</#if>
<#list start..end as i>
<#if (page==i)>
<span><a class="current">${i}</a></span>
<#else>
<a href="###" onclick="jumpPage(${i},'${toURL}')">${i}</a>
</#if>
</#list>
<#-- 如果后面页数过多,显示... -->
<#if (end < pageCount - 2)>
<span>…</span>
</#if>
<#if (end < pageCount - 1)>
<a href="###" onclick="jumpPage(${pageCount - 1},'${toURL}')">${pageCount-1}</a>
</#if>
<#if (end < pageCount)>
<a href="###" onclick="jumpPage(${pageCount},'${toURL}')">${pageCount}</a>
</#if>
<#-- 下一页处理 -->
<#if (page == pageCount)>
<span href="###" class="next"><b></b> <@spring.message code="page.nextpage"/></span>
<#else>
<a href="###" class="next" onclick="jumpPage(${page + 1},'${toURL}')"><b></b> <@spring.message code="page.nextpage"/></a>
</#if>
<div><@spring.message code="page.forward"/><input id="inputPageNum" name="inputPageNum" type="text" value="" size="2" onkeyup="this.value=this.value.replace(/\D/g,'')"/>页
<input type="button" value="<@spring.message code='page.button'/>" onclick="jumpPage($('#inputPageNum').val(),'${toURL}')" class="pagesubmit">
</div>
<#--</from>-->
</div>
</div>
</#macro>
分享到:
相关推荐
好用的 freemarker 分页宏模板dom结构比较主流的一个分页一排显示10个分页按钮(想定制的话把页码提取出来做为参数即可)pagenav.previousPage 存着上一页pagenav.totalPage 总页数pagenav.pageNo 当前页面页码page...
学习freemarker后 发现网上用宏实现分页的例子几乎没有,所以自己写了个。
这个例子是Freemarker整合Struts2分页,包含了struts2和Freemarker的jar包,可以直接下载导入到Eclipse中运行.
这是FreeMarker通用的分页
freemarker分页,freemarker分页,freemarker分页
NULL 博文链接:https://asialee.iteye.com/blog/2062313
freemarker的分页.数据库是mysql.
freemarker结合struts2分页,在后台接收当前页和每页显示条数即可,其他可按照需求自行更改
一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx
NULL 博文链接:https://cjb.iteye.com/blog/403878
主要就是用servlet做的,freemarker和httpclient的静态化都封装好了工具类了,简单,有文档,可以看懂
Spring,Spring Data Jpa,freemarker,bootstrap实现的分页源代码
NULL 博文链接:https://mmblue.iteye.com/blog/570699
NULL 博文链接:https://fenyouze.iteye.com/blog/440826
FreeMarker技术资料大集合包括宏以及一些列中文开发手册和技术文档其中包括:FreeMarker2.3.7_Manual_zh_CN,Freemarker-2.3.16 API,FreeMarker详细讲解,FreeMarker宏和freemarker中文手册。对新手学习freemarker...
不过由于小弟资历浅薄,也没心思看,主要是strut2的标签本来我就觉得不大习惯,另外上个月接触了freemarker后,实在是用的爽死了,为什么不用freemarker的macro指令写个通用的分页呢?马上想到模仿TX的...
使用FreeMarker配合Servlet写了一个分页程序,使用环境是Java7和Tomcat7,Eclipse 4.2,程序比较简单,并且加了注释,应该算是清楚易懂吧,适合初学者(我本身也是初学者),有问题私信可以再和大家讨论。
FreeMarker,FreeMarker
安装freemarker插件(freemarker的eclipse插件) a) 首先下载 freemarker-ide-0.9.14.zip(在这里不用下载了,附件中已经有了) b) 解压后:把hudson.freemarker_ide_0.9.14这个文件放到:eclipse\plugins下面 c) 发现...
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...