昨天, 做了个简单的分页。需要保留原来的所有的url参数,而且要把参数pgno的值改变(修改同事的程序,只是简单地加入分页,所以要保留同事处理的所有参数变量,因为只有30分钟,不想理解里面的内容。)。有不行一个query string里出现2个pgno。
当coldfusion的页面接收参数的时候,会产生一个url的structure。我们可以通过这个structure还实现我们的分页。让它简单点。
这个函数是把一个struct转成字串。
<cffunction name="udf_struct2querystring">
<cfargument name="pstruct">
<!--- 定义本地变量。其中l_key不是外面的那个l_key--->
<cfset var l_key = "">
<cfset var l_retstr = "">
<cfloop collection="#pstruct#" item="l_key">
<cfif listlen(l_key, "=") eq 1>
<cfset l_retstr= listappent(l_retstr, l_key & "=", "&")>
<cfelse>
<cfset l_retstr= listappent(l_retstr, listfirst(l_key,"=") & "=" &URLEncodedFormat(listrest(l_key,"=")), "&")>
</cfif>
</cfloop>
<cfreturn l_retstr>
</cffunction>
<!--- 显示分页内容。例子只是一个简单的代码。不是全部的代码--->
<cfoutput>
<cfloop from="1" to="10" index="l_key">
<!---这里就是我要处理的pgno, 这样就不会有重复的地方--->
<cfset url["pgno"] = l_key>
<a href="abc.cfm?#udf_struct2querystring(url)#">#l_key#</a>
</cfoop>
</cfoutput>