设为首页 加入收藏

TOP

Beego学习笔记5:MVC-VC(一)
2017-12-07 14:22:11 】 浏览:45
Tags:Beego 学习 笔记 5:MVC-VC

MVC-VC

1>     新建一个user.go控制器,其代码如下:

 

package controllers

import (
	"webapp/models"
	"strconv"
	"fmt"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"
	_"github.com/go-sql-driver/mysql"
)
//控制器
type HomeController struct {
	beego.Controller
}

//get请求用户列表 执行的方法
func (c *HomeController) Get() {
	o := orm.NewOrm()
	o.Using("default")
	//用户列表
	userlist:=models.DataList()
	fmt.Println("用户列表数据:")
	fmt.Println(userlist)
	 /*返回json数据*/
	 c.Data["datas"]=userlist
	 c.TplName = "home.html"
}
//删除方法
type DeleteHomeController struct {
	beego.Controller
}
func (c *DeleteHomeController) Get() {
	o := orm.NewOrm()
	o.Using("default")
	id, _ := c.GetInt64("Id")
	fmt.Println(id)
	isdelete:=models.DeleteById(id)
	
	if isdelete{
	  fmt.Println("删除成功")	  
	}else{
	  fmt.Println("删除失败")
	}
	//路径的跳转
	c.Redirect("/", 302)
}
//get请求用户列表 执行的方法
type EditHomeController struct {
	beego.Controller
}
func (c *EditHomeController) Get() {
	o := orm.NewOrm()
	o.Using("default")
	//用户列表
	idval,errId:=strconv.ParseInt(c.GetString("Id"),10,64);
	if errId!=nil{
		fmt.Println("缺少参数id");
	} 
	user,err:=models.QueryById(idval)
	if err==true{
		fmt.Println("获取模型失败");
		fmt.Println(err);
	}else{
		fmt.Println("获取模型成功");
	}
	 /*返回json数据*/	
	 c.Data["data"]=user 
	 c.TplName = "edit.html"
}

//编辑新增/更新方法
type UpdateHomeController struct {
	beego.Controller
}
func (c *UpdateHomeController) Post() {
	o := orm.NewOrm()
	o.Using("default")

	fields := make(map[string] interface{})	

	//获取参数
	id, _ := c.GetInt("Id")
	name:=c.GetString("name")
    nickname:=c.GetString("nickname")
    pwd:=c.GetString("pwd")
    email:=c.GetString("email")
	sex:=c.GetString("sex")
	phone:=c.GetString("phone")
	roleid:="1"; 
	status,_:=strconv.ParseInt("1",10,64);
	//新增用户
	if id==0 {
	   idval,_:=strconv.ParseInt("0",10,64);
       //新增一条数据,并给模型赋值
	   user :=models.Create(idval,name,nickname,pwd,email,sex,roleid,status,phone)	
	   fmt.Println(user)
	}else{
		fields["Id"]=id
		name:= c.GetString("name")
		fields["Name"]=name
		nickname:= c.GetString("nickname")
		fields["Nickname"]=nickname
		pwd:= c.GetString("pwd")
		fields["Pwd"]=pwd
		sex:= c.GetString("sex")
		fields["Sex"]=sex
		email:= c.GetString("email")
		fields["Email"]=email
		//更新
		models.UpdateById(id,"user", fields)
	}
	//路径的跳转
	c.Redirect("/Home/List", 302)
}
//控制器
type UserController struct {
	beego.Controller
}

//get请求用户分页列表 执行的方法
func (c *UserController) Get() {
	o := orm.NewOrm()
	o.Using("default")
    //得到当前分页html的数据
	pa,err:=c.GetInt("page")
	if err!=nil{
		println(err)
	}
	pre_page:=3
	totals:=models.GetDataNum()
	res := models.Paginator(pa, pre_page, to
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Beego 学习比较8:SQL语句 下一篇Beego 学习笔记7:JS分页

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目