我是靠谱客的博主 饱满鸭子,这篇文章主要介绍beego框架下获取用户get\post数据完整示例,现在分享给大家,希望可以做个参考。

原理介绍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数据完整示例内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部