gf架構之分頁模組(三) - 靜態分頁

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

文章來源:http://gf.johng.cn/597433

靜態分頁是指頁面的分頁參數使用的是路由傳參,這種情境下分頁對象與Web Server的路由設計耦合性比較大。

樣本如下:

package mainimport (    "gitee.com/johng/gf/g/os/gview"    "gitee.com/johng/gf/g/net/ghttp"    "gitee.com/johng/gf/g/util/gpage")func main() {    s := ghttp.GetServer()    s.BindHandler("/page/static/*page", func(r *ghttp.Request){        page      := gpage.New(100, 10, r.Get("page"), r.URL.String(), r.Router.Uri)        buffer, _ := gview.ParseContent(`        <html>            <head>                <style>                    a,span {padding:8px; font-size:16px;}                    div{margin:5px 5px 20px 5px}                </style>            </head>            <body>                <div>{{.page1}}</div>                <div>{{.page2}}</div>                <div>{{.page3}}</div>                <div>{{.page4}}</div>            </body>        </html>        `, g.Map{            "page1" : gview.HTML(page.GetContent(1)),            "page2" : gview.HTML(page.GetContent(2)),            "page3" : gview.HTML(page.GetContent(3)),            "page4" : gview.HTML(page.GetContent(4)),        })        r.Response.Write(buffer)    })    s.SetPort(8199)    s.Run()}

在該樣本中,我們需要用到分頁對象New方法的第五個參數,route...string,該參數是當前請求的路由規則。我們這裡可以通過r.Router.Uri方式將路由規則傳遞給分頁對象。其中,ghttp.Request.Router是與當前請求匹配的路由對象,包含路由規則等相關資訊,在分頁對象中處理分頁參數時,我們只會用到Uri屬性。

執行後,我們手動訪問http://127.0.0.1:8199/page/static/6頁面的結果如下:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.