`

freemarker、分页,自定义过的一个分页

 
阅读更多
用freemarker做过的一个自定义标签,分页用的

<#macro page totalPage total actionUrl pageSize currentPage >
	<#if (total>0)>
		<#if actionUrl?contains("?")>
				<#assign actionUrl="${actionUrl }&pageSize=${pageSize }&pageNumber=">
		<#else>
				<#assign actionUrl="${actionUrl }?&pageSize=${pageSize }&pageNumber=">
		</#if>	
		<ul id="myPage" class="pagination pagination-small m-t-none m-b-none">
			<#-- 上一页按钮 -->
			<#if (currentPage > 1) >
				<li><a href="${actionUrl }${currentPage -1 }"  >
					<@spring.message "tags.myPage2.PreviousPage" />
				</a></li>
			</#if>
			
			<#-- 第一页按钮 -->
			<#if 1 == currentPage>
				<li class="active"><a>1</a></li>
			<#else>
				<li><a  href="${actionUrl}1" ></a></li>
			</#if>
				<#if (totalPage<7)>
					<#if ((totalPage - 1)>=2)>
						<#list 2..(totalPage - 1) as i>
							<#if currentPage == i>
								<li class="active"><a>${i }</a></li>
							<#else>
								<li><a  href="${actionUrl }${i }" >${i }</a></li>
							</#if>
						</#list>
					</#if>
			  <#else>
						<#if (currentPage < 6)>
							<#list 2..5 as i>
								<#if currentPage == i >
									<li class="active"><a>${i }</a></li>
								<#else>
									<li><a href="${actionUrl }${i }" >${i }</a></li>
								</#if>
							</#list>
							<#if ((currentPage + 2) <= totalPage)>
								<li><a>...</a></li>
							</#if>
						<#else>
								<#if ((totalPage - currentPage) < 5)>
									<#if ((totalPage - 4) > 2)>
										<li><a>...</a></li>
									</#if>
									<#list (totalPage -4)..(totalPage -1) as i>
										<#if currentPage == i >
											<li class="active"><a>${i }</a></li>
										<#else>
											<li><a  href="${actionUrl }${i }"  >${i }</a></li>
										</#if>
									</#list>
								<#else>
									<li><a>...</a></li>
									<#list (currentPage -2)..(currentPage +2) as i>
										<#if currentPage == i>
											<li class="active"><a>${i }</a></li>
										<#else>
											<li><a  href="${actionUrl }${i }" >${i }</a></li>
										</#if>
									</#list>
									<li><a>...</a></li>
								</#if>
						</#if>
				</#if>
			
			<#-- 最后一页按钮 -->
			<#if (totalPage > 1)>
				<#if totalPage  == currentPage >
					<li class="active"><a>${totalPage }</a></li>
				<#else>
					<li><a  href="${actionUrl }${totalPage }"  >${totalPage }</a></li>
				</#if>	
			</#if>
			<#-- 下一页按钮 -->
			<#if (totalPage > currentPage)>
				<li><a  href="${actionUrl }${currentPage +1}" >
					<@spring.message  "tags.myPage2.NextPage" />
				</a></li>
			</#if>
			
		</ul> 
	</#if>
	<#if (total <= 0)>
		<@spring.message  "decorator.common.search_empty" />
	</#if>
</#macro>


<@page  totalPage='${pageCount}'?number total='${pageInfo.totalCount}'?number actionUrl="${ctx}/detail/detail/${dto.productId?c}" pageSize='${pageInfo.pageSize}'?number currentPage='${pageInfo.pageNum}'?number />	

<#-- pageCount 页数,total 总条数 ,pageSize 每页数量,currentPage 当前页   -->

 

分享到:
评论

相关推荐

    freemarker 自定义freeMarker标签

    例如,你可以创建一个自定义标签用于处理分页数据,接受页码和每页数量作为参数,然后在后台查询数据库并返回相应的页面内容。 此外,FreeMarker还支持自定义函数,它们类似于JavaScript中的函数,可以接收参数并...

    freemarker自定义的通用分页指令(标签)源码和使用示例

    一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx

    freemarker自定义分页标签宏

    在这个主题“freemarker自定义分页标签宏”中,我们将深入探讨如何在FreeMarker中创建自定义的分页标签宏,以便更有效地管理和展示大量数据。 首先,分页是一种常见的网页设计技术,用于将大量数据分割成小块,使...

    Freemarker分页

    Freemarker分页是Web开发中的一个重要概念,它主要用于在大量数据展示时,将结果集分割成多个小块,每次只加载一部分数据,提高页面加载速度并提升用户体验。在这个例子中,我们看到的是如何在使用Struts2框架的基础...

    freemarker 实现宏分页

    通过定义宏,我们可以创建一个通用的分页组件,便于在多个页面上重复使用。 1. **宏定义**: 在FreeMarker中,宏定义通常放在`.ftl`文件的`&lt;#macro&gt;`和`&lt;/#macro&gt;`标签之间。宏的参数可以像函数参数一样定义,例如...

    spring mvc freemarker 自定义标签

    自定义标签是Freemarker的一个强大特性,它可以帮助我们更好地组织视图层代码,提高代码复用性,使得模板更加模块化。下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础...

    自定义分页标签源代码

    本自定义分页标签源代码提供了一种解决方案,它独立于数据库操作,仅处理分页逻辑,允许开发者专注于数据获取和展示。接下来,我们将详细讨论相关知识点。 1. **自定义标签**: 自定义标签是JSP中的一种特性,允许...

    非常好用的自定义分页标签

    在这个场景下,我们讨论的是一个名为"非常好用的自定义分页标签"的组件,它由一位个人开发者创建,并打包在一个名为"kevinb.jar"的Java档案文件中。 首先,我们需要理解什么是自定义标签。在JSP(JavaServer Pages...

    freemarker+struts2仿QQ分页效果

    最近比较闲,想起来一直没时间做一个好点的分页效果。嗯马上做一个。分页都太熟悉了。以往用的分页都是比较常见的就是上一页,下一页,顶多再加个跳转到第几页。但是有没有好点的效果呢?因为现在一般都用strut2,...

    Freemarker通用select下拉框

    Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架中的JSP替代技术。本示例关注的是如何在Freemarker(FTL)中创建一个通用的`select`下拉框,以满足各种Web界面中的下拉选择需求。...

    jquery java struts2 实现分页 非常好看的分页

    你可以配置一个JSP或FreeMarker模板,用于展示数据和生成分页链接。这个模板会接收到Action传递过来的分页信息,然后使用jQuery的pagination插件生成相应的HTML元素。 在前端,使用jQuery的pagination插件时,你...

    利用ssh框架+freemarker做的一个小程序

    综合上述内容,我们可以理解这是一个使用SSH框架搭建的Java Web应用,它利用Freemarker展示视图,实现了分页功能并通过Ajax异步请求来提升用户体验。在实际开发中,这样的应用通常会涉及到数据库设计、模型-视图-...

    jpager-分页demo

    【标题】"jpager-分页demo"是一个关于使用jpager库实现分页功能的示例项目。在Web开发中,分页是处理大量数据时不可或缺的元素,它能够帮助用户有条不紊地浏览信息,提高用户体验。jpager是一个专门为Java Web应用...

    经典struts2分页方法 JAVA_WEB必备分页 源码

    为了实现分页,我们需要创建一个包含分页参数(如当前页数、每页记录数)的Action类,并提供相应的业务逻辑。 2. **模型(Model)**:模型层负责与数据库交互,获取所需的数据。在分页场景下,我们需要根据Action中...

    ssh框架的分页功能

    同时,可以创建一个分页Result类型,让视图层更好地展示分页信息。 二、Spring分页 Spring作为服务层,主要负责业务逻辑和数据访问。Spring提供了PagingAndSortingRepository接口,该接口继承了JpaRepository,提供...

    struts2+spring+hibernate分页,事务,自定义切面

    通常,我们会创建一个拦截器来计算当前页码、总页数等信息,然后在Action类中处理这些信息,最后通过一个自定义的Result类型将分页信息传递给视图层。视图层通常会使用JSP或者FreeMarker模板来展示分页链接。 接...

    ssh实现分页

    四、自定义分页类 为了提高代码复用性,通常我们会创建一个通用的分页类,它包括了页码、每页数量、总记录数、总页数等属性,以及构造函数、获取当前页数据的方法。在DAO层,我们可以调用这个分页类,根据其参数...

    freemark 自定义标签 总结

    自定义标签是Freemarker的一个重要特性,它允许开发者扩展模板语言的功能,以满足特定项目的需求。本篇文章将对Freemarker自定义标签进行深入的总结。 1. **自定义标签基础** 自定义标签在Freemarker中被称为`...

    MyEclipse完整工程SSH实现分页

    在描述中提到的"sshPage"可能是一个自定义的分页组件或者一个具体的页面文件,它包含了用于处理分页逻辑和展示的代码。这个组件可能封装了页码计算、总页数计算以及上一页、下一页链接的生成等常见功能。 实现分页...

    Java 通用分页

    总结来说,Java实现通用分页涉及数据库查询、自定义分页类、封装分页服务等多个环节。合理利用数据库和应用程序的分页机制,能够有效地管理和展示大量数据,同时提升用户体验。在实际项目中,还需要考虑性能优化、...

Global site tag (gtag.js) - Google Analytics