文章来源:http://gf.johng.cn/597431javascript
分页管理由gpage
包实现,gpage提供了强大的动态分页及静态分页功能,而且为开发者自定义分页样式提供了极高的灵活度。java
使用方式:git
import "gitee.com/johng/gf/g/util/gpage"
方法列表:godoc.org/github.com/johng-cn/gf/g/util/gpagegithub
func New(TotalSize, perPage int, CurrentPage interface{}, url string, route ...string) *Page func (page *Page) EnableAjax(actionName string) func (page *Page) FirstPage(styles ...string) string func (page *Page) GetContent(mode int) string func (page *Page) GetLink(url, text, title, style string) string func (page *Page) GetUrl(pageNo int) string func (page *Page) LastPage(styles ...string) string func (page *Page) NextPage(styles ...string) string func (page *Page) PageBar(styles ...string) string func (page *Page) PrevPage(styles ...string) string func (page *Page) SelectBar() string
咱们这里须要着重说明的是三个方法,New
,GetContent
,EnableAjax
。后端
在New
方法中,前面三个参数很简单,见名知意。url
第四个参数url string
是当前请求页面的URL,能够是完整的URL地址,如:http://xxx.xxx.xxx/list?type=10#anchor
;也能够是URI绝对路径地址,如:/list?type=10#anchor
;该参数是用于分页管理器计算分页URL地址的基础。code
第五个参数route...string
是一个可选参数,表示当前请求页面的路由匹配规则(如:/user/list/:page
,或者/order/list/*order-page
),当使用静态分页时,该参数为必传项,以便分页管理器可以智能替换静态URI中对应的分页参数。对象
具体使用示例请查看后续章节。ip
方法GetContent
提供了预约义的常见的分页样式,以便于开发者快速使用。当预约义的样式没法知足开发者需求时,开发者能够使用公开的方法来自定义分页样式(或者进行方法重载来实现自定义),也能够使用正则替换指定预约义的分页样式中的部份内容来实现自定义。路由
具体使用示例请查看后续章节。
方法EnableAjax
给定一个Ajax方法名,用于实现Ajax分页,可是须要注意的是,该Ajax方法名称须要先后端约定统一,而且该Ajax方法只有一个URL参数。如下是一个Ajax方法的客户端定义示例:
function DoAjax(url) { // 这里读取URL的内容并根据业务逻辑进行内容展现 }
具体使用示例请查看后续章节。