gpage支持自定义URL模板,在模板中可以使用{.page}内置变量替换页码的内容,我们来看一个简单的示例:

    1. package main
    2. import (
    3. "gitee.com/johng/gf/g"
    4. "gitee.com/johng/gf/g/os/gview"
    5. "gitee.com/johng/gf/g/net/ghttp"
    6. "gitee.com/johng/gf/g/util/gpage"
    7. )
    8. func main() {
    9. s := g.Server()
    10. s.BindHandler("/page/template/{page}.html", func(r *ghttp.Request){
    11. page := gpage.New(100, 10, r.Get("page"), r.URL.String())
    12. page.SetUrlTemplate("/order/list/{.page}.html")
    13. buffer, _ := gview.ParseContent(`
    14. <html>
    15. <head>
    16. <style>
    17. a,span {padding:8px; font-size:16px;}
    18. div{margin:5px 5px 20px 5px}
    19. </style>
    20. </head>
    21. <body>
    22. <div>{{.page1}}</div>
    23. <div>{{.page2}}</div>
    24. <div>{{.page3}}</div>
    25. <div>{{.page4}}</div>
    26. </body>
    27. </html>
    28. `, g.Map{
    29. "page1" : gview.HTML(page.GetContent(1)),
    30. "page2" : gview.HTML(page.GetContent(2)),
    31. "page3" : gview.HTML(page.GetContent(3)),
    32. "page4" : gview.HTML(page.GetContent(4)),
    33. })
    34. r.Response.Write(buffer)
    35. })
    36. s.SetPort(8199)
    37. s.Run()
    38. }

    在代码中,我们可以使用SetUrlTemplate方法来设置URL模板,执行后,结果如下:

    URL模板 - 图1