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

basque · · 2504 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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层中的方法。




有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:basque

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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2504 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传