发布于 2014-11-24 01:26:07 | 293 次阅读 | 评论: 0 | 来源: 网友投递
Revel Go 语言 Web 框架
Revel是一个高生产力的 Go 语言 Web 框架 .其思路完全来自 Java 的 Play Framework。
Revel v0.11.2 发布,此版本修复了一个重要的 bug,强烈建议每位用户用最新的 Revel 版本重建项目,升级请执行:
$ go get -u github.com/revel/cmd/revel $ revel build github.com/myusername/myproject /path/to/destination/folder
此版本现已提供下载。
Revel是一个高生产力的 Go 语言 Web 框架 .其思路完全来自 Java 的 Play Framework。
// app/controllers/app.go
type Application struct {
*rev.Controller
}
func (c Application) Register() rev.Result {
title := "Register"
return c.Render(title)
}
func (c Application) SaveUser(user models.User, verifyPassword string) rev.Result {
c.Validation.Required(verifyPassword).Key("verifyPassword")
c.Validation.Required(verifyPassword == user.Password).Key("verifyPassword").
Message("Password does not match")
user.Validate(c.Validation)
if c.Validation.HasErrors() {
c.Validation.Keep()
c.FlashParams()
return c.Redirect(Application.Register)
}
_, err := c.Txn.Exec("insert into User (Username, Password, Name) values (?, ?, ?)",
user.Username, user.Password, user.Name)
if err != nil {
panic(err)
}
c.Session["user"] = user.Username
c.Flash.Success("Welcome, " + user.Name)
return c.Redirect(Hotels.Index)
}