GoLang:通过url将值从view层(.tpl)传递到controller层

beego框架

1.定义路由:

beego.Router("/UpdateState/:statename/:id", &controllers.ContentController{}, "*:UpdateState")


2.tpl中的url实现
相对应的tpl文件中的url可以为

<a href="/UpdateState/FbState/{{.ID}}">{{.FbState}}</a>
其中,通过Url传递到controller中的变量有:
statename,id ,对应的值分别为 "FbState",和通过{{.ID}}取得的值,例如为"3"

3.controller处理:
func (c *ContentController) UpdateState() {
    statename := c.Ctx.Input.Params[":statename"]
    idint := c.Ctx.Input.Param(":id")
    id, _ := strconv.ParseInt(idint, 0, 64)
    fmt.Println(statename, id)
    success := models.UpdateState(id, statename)
    if success {
        fmt.Println("updatesuccess")
    } else {
        fmt.Println("updatefail")
    }
    c.Get()
}

通过上述方法,取得statename和id,并可以调用model层中的方法。



原文地址:https://www.cnblogs.com/basque/p/5102746.html