Oh Baby, It's So Hot When You Paginate! (aka Paginating Results In ColdFusion)

<div class="datapager">
 
	Showing
	#REQUEST.Pager.GetStart()# - #REQUEST.Pager.GetEnd()# of
	#REQUEST.Pager.GetRecordCount()# &nbsp;
 
	<span class="pageslabel">
		Pages:
	</span>
 
	<cfif (REQUEST.Pager.GetBucketStartPage() GT 1)>
		<a href="#REQUEST.Pager.ReplaceOffset((((REQUEST.Pager.GetBucketStartPage() - 2) * REQUEST.Pager.GetPageSize()) + 1))#">«</a>
	</cfif>
 
	<!--- Loop over visible pages --->
	<cfloop index="intPage" from="#REQUEST.Pager.GetBucketStartPage()#" to="#REQUEST.Pager.GetBucketEndPage()#" step="1">
		<a href="#REQUEST.Pager.ReplaceOffset((((intPage - 1) * REQUEST.Pager.GetPageSize()) + 1))#" class="<cfif (intPage EQ REQUEST.Pager.GetPage())>on<cfelse>off</cfif>">#intPage#</a>
	</cfloop>
 
	<cfif (REQUEST.Pager.GetBucketEndPage() LT REQUEST.Pager.GetPages())>
		<a href="#REQUEST.Pager.ReplaceOffset(((REQUEST.Pager.GetBucketEndPage() * REQUEST.Pager.GetPageSize()) + 1))#">»</a>
	</cfif>
 
 
	<
	<cfif REQUEST.Pager.GetPrev()>
		<a href="#REQUEST.Pager.ReplaceOffset(REQUEST.Pager.GetPrev())#" class="prevnext">Prev</a>
	<cfelse>
		<span class="prevnext">Prev</span>
	</cfif>
	|
	<cfif REQUEST.Pager.GetNext()>
		<a href="#REQUEST.Pager.ReplaceOffset(REQUEST.Pager.GetNext())#" class="prevnext">Next</a>
	<cfelse>
		<span class="prevnext">Next</span>
	</cfif>
	>
 
</div>

For Cut-and-Paste