注意: 只有有序切片可以绑定到一个 []Struct:
?user[0].Id=1
&user[0].Name=rob
&user[1].Id=2
&user[1].Name=jenny
Struct
Struct简单的使用一个 . 进行绑定:
?user.Id=1
&user.Name=rob
&user.Friends[]=2
&user.Friends[]=3
&user.Father.Id=5
&user.Father.Name=Hermes
绑定到下面的struct类型:
type User struct {
Id int
Name string
Friends []int
Father User
}
注意: struct中的字段必须是导出的(首字母大写)。
Date / Time
内置的 SQL 标准时间格式 [“2006-01-02”, “2006-01-02 15:04”]
使用 Revel官方模式 简单的添加时间格式到 TimeFormats
变量:
func init() {
revel.TimeFormats = append(revel.TimeFormats, "01/02/2006")
}
文件上传
文件上传参数可以绑定到以下几种类型:
- *os.File
- []byte
- io.Reader
- io.ReadSeeker
它是 Go的 multipart 包 的一个包装器. 文件保存在内存中,如果文件大小超过10MB(默认值), 就会被保存到一个临时文件中。
注意: 绑定 os.File
类型,会保存到临时文件 (如果没有的话),所以效率低。
自定义绑定器
应用程序可以定义绑定器。
自定义绑定器需要实现 binder 接口并注册自定义类型:
var myBinder = revel.Binder{
Bind: func(params *revel.Params, name string, typ reflect.Type) reflect.Value {...},
Unbind: func(output map[string]string, name string, val interface{}) {...},
}
func init() {
revel.TypeBinders[reflect.TypeOf(MyType{})] = myBinder
标签:Revel
相关阅读 >>
更多相关阅读请进入《Revel》频道 >>

Go语言101
一个与时俱进的Go编程知识库。