教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转

Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转

发布时间:2021-05-03   编辑:jiaochengji.com
教程集为您提供Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转等资源,欢迎您收藏本站,我们将为您提供最新的Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转资源

一、动态路由

api.go:

package controllers

import (
    "github.com/astaxie/beego"
)

type ApiController struct {
    beego.Controller
}

// http://localhost:8080/api/1
func (c *ApiController) Get() {=(res) [val*2**inx for inx, val in zip(range(len(t)), t)]
            res = res   sum(item)
        return in
    // 获取动态路由的值
    id := c.Ctx.Input.Param(":id")
    c.Ctx.WriteString("api接口--"   id)
}

router.go:

package routers

import (
    "beegodemo02/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})

    // http://localhost:8080/api/1
    beego.Router("/api/:id", &controllers.ApiController{})
}

显示:

二、路由伪静态

cms.go:

package controllers

import (
    "github.com/astaxie/beego"
)

type CmsController struct {
    beego.Controller
}

// 路由伪静态
// http://localhost:8080/cms_1.html
func (c *CmsController) Get() {
    cmsId := c.Ctx.Input.Param(":id")
    c.Ctx.WriteString("CMS详情--"   cmsId)
}

router.go:

package routers

import (
    "beegodemo02/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})

    // http://localhost:8080/api/1
    beego.Router("/api/:id", &controllers.ApiController{})

    // http://localhost:8080/cms_1.html
    beego.Router("/cms_:id([0-9] ).html", &controllers.CmsController{})
}

显示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6m1nUYdO-1608128103434)(https://cdn.jsdelivr.net/gh/W...]

三、路由跳转

login.go:

package controllers

import (
    "fmt"
    "github.com/astaxie/beego"
)

type LoginController struct {
    beego.Controller
}

// 路由伪静态
// http://localhost:8080/cms_1.html
func (c *LoginController) Get() {
    c.TplName = "login.html"
}

func (c *LoginController) DoLogin() {
    username := c.GetString("username")
    password := c.GetString("password")
    fmt.Println(username, password)

    // 执行跳转

    c.Redirect("/", 302)  // 302 表示重定向
    // c.Redirect("/cms_1.html", 302)  // 302 表示重定向
}

router.go:

package routers

import (
    "beegodemo02/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})

    // http://localhost:8080/api/1
    beego.Router("/api/:id", &controllers.ApiController{})

    // http://localhost:8080/cms_1.html
    beego.Router("/cms_:id([0-9] ).html", &controllers.CmsController{})

    beego.Router("/login", &controllers.LoginController{})
    beego.Router("/doLogin", &controllers.LoginController{}, "post:DoLogin")
}

login.html:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>
    <form action="/doLogin" method="post">
      用户名: <input type="text" name="username"> <br><br>
      密 码: <input type="text" name="password"> <br><br>

      <input type="submit" value="登录">
    </form>
</body>
</html>

显示:

输完用户名和密码点击登录之后,会跳转到 localhost:8080

控制台有输出:

四、参考教程

Golang 教程 P55

到此这篇关于“Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转
Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳
php实现简单的伪静态URL的机制介绍
windows常用网络命令批处理脚本
想系统学习GO语言(Golang
flask蓝图是什么
笔记本电脑怎么连接无线路由器
一文读懂Django路由规则
深度解析Nginx下的PHP框架路由实现
零基础Python学习路线图,Python初学者必须要了解,让你少走弯路

[关闭]
~ ~