原理介绍beego框架下获取用户getpost数据的常见方法_PHP、go程序员实例学习记录-CSDN博客
controller源码:
package controllers
import (
"fmt"
"github.com/astaxie/beego"
_ "github.com/go-sql-driver/mysql"
"reflect"
"strconv"
)
type StuController struct {
beego.Controller
}
type user struct {
Id int `form:"-"`
Name interface{} `form:"username"` //对应表单中的username值,字段名首字母也必须大写,否则无法解析该参数的值
Age int `form:"age"` //对应表单中的age值,如果不写将无法解析该参数的值
Email string `form:"email"` //对应表单中的email值,如果不写将无法解析该参数的值
Like []string `form:"like"` //对应表单中的like值,如果不写将无法解析该参数的值
}
func (c *StuController) TestBase() {
username := c.Input().Get("username") // 得到的是string类型
fmt.Println(reflect.TypeOf(username)) // 打印类型 map[string]string
fmt.Println(username) // 打印类型 map[string]string
username = c.GetString("username") // 得到的是string类型
fmt.Println(reflect.TypeOf(username)) // 打印类型 map[string]string
fmt.Println(username) // 打印类型 map[string]string
age,err := c.GetInt("age")
fmt.Println(reflect.TypeOf(age)) // 打印类型 map[string]string
if err != nil {
c.Ctx.WriteString("input is empty")
}else{
c.Ctx.WriteString(strconv.Itoa(age))
fmt.Println(strconv.Itoa(age)) // 打印类型 map[string]string
}
fmt.Println(strconv.Itoa(age)) // 打印类型 map[string]string
like := c.GetStrings("like")
fmt.Println(like) // 打印类型 map[string]string
u := user{}
if err := c.ParseForm(&u); err == nil {
fmt.Println(u) // 打印类型 map[string]string
}
c.TplName = "index.tpl"
}
func (c *StuController) BaseFrom() {
c.TplName = "baseForm.tpl"
}
前端表单页面view:
<form id="user" action="ba">
名字:<input name="username" type="text" /> <br/>
年龄:<input name="age" type="text" /> <br/>
邮箱:<input name="email" type="text" /> <br/>
爱好:
蓝球:<input type="checkbox" name="like" value="lanqiu" checked="checked" />
羽毛球:<input type="checkbox" name="like" value="yumaoqiu" checked="checked" />
乒乓球:<input type="checkbox" name="like" value="bingbangqiu" checked="checked" /> <br/>
<input type="submit" value="提交" />
</form>
router源码
package routers
import (
"github.com/astaxie/beego"
"quickstart/controllers"
)
func init() {
beego.Router("/", &controllers.MainController{})
//beego.Router("/orm", &controllers.MainController{},"*:TestOrm")
beego.Router("/ba", &controllers.StuController{},"*:TestBase")
beego.Router("/from", &controllers.StuController{},"*:BaseFrom")
}
bee run启动服务器;浏览器访问页面
http://localhost:8080/from
并录入数据如下:
在golang的Terminal界面显示:
示例结束
最后
以上就是饱满鸭子最近收集整理的关于beego框架下获取用户get\post数据完整示例的全部内容,更多相关beego框架下获取用户get\post数据完整示例内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复