Revel v0.14.0 发布了,自 v0.13.0 以来的改进如下:

Breaking Changes

下载地址

Revel 是 Go 语言的框架,其思路完全来自 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)
}


新闻来源:Revel v0.14.0 发布,Go 的全堆栈 Web 框架