這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
文章來源:http://gf.johng.cn/597431
分頁管理由gpage
包實現,gpage提供了強大的動態分頁及靜態分頁功能,並且為開發人員自訂分頁樣式提供了極高的靈活度。
使用方式:
import "gitee.com/johng/gf/g/util/gpage"
方法列表:godoc.org/github.com/johng-cn/gf/g/util/gpage
func New(TotalSize, perPage int, CurrentPage interface{}, url string, route ...string) *Pagefunc (page *Page) EnableAjax(actionName string)func (page *Page) FirstPage(styles ...string) stringfunc (page *Page) GetContent(mode int) stringfunc (page *Page) GetLink(url, text, title, style string) stringfunc (page *Page) GetUrl(pageNo int) stringfunc (page *Page) LastPage(styles ...string) stringfunc (page *Page) NextPage(styles ...string) stringfunc (page *Page) PageBar(styles ...string) stringfunc (page *Page) PrevPage(styles ...string) stringfunc (page *Page) SelectBar() string
我們這裡需要著重說明的是三個方法,New
,GetContent
,EnableAjax
。
建立分頁對象
在New
方法中,前面三個參數很簡單,見名知意。
第四個參數url string
是當前請求頁面的URL,可以是完整的URL地址,如:http://xxx.xxx.xxx/list?type=10#anchor
;也可以是URI絕對路徑地址,如:/list?type=10#anchor
;該參數是用於分頁管理器計算分頁URL地址的基礎。
第五個參數route...string
是一個選擇性參數,表示當前請求頁面的路由匹配規則(如:/user/list/:page
,或者/order/list/*order-page
),當使用靜態分頁時,該參數為必傳項,以便分頁管理器能夠智能替換靜態URI中對應的分頁參數。
具體使用樣本請查看後續章節。
預定義分頁樣式
方法GetContent
提供了預定義的常見的分頁樣式,以便於開發人員快速使用。當預定義的樣式無法滿足開發人員需求時,開發人員可以使用公開的方法來自訂分頁樣式(或者進行方法重載來實現自訂),也可以使用正則替換指定預定義的分頁樣式中的部分內容來實現自訂。
具體使用樣本請查看後續章節。
使用Ajax分頁功能
方法EnableAjax
給定一個Ajax方法名,用於實現Ajax分頁,但是需要注意的是,該Ajax方法名稱需要前後端約定統一,並且該Ajax方法只有一個URL參數。以下是一個Ajax方法的用戶端定義樣本:
function DoAjax(url) { // 這裡讀取URL的內容並根據商務邏輯進行內容展示}
具體使用樣本請查看後續章節。