目的
了解使用 Go 模板技术开发 Web 应用的。
效果
代码
server.go
package main
import (
"fmt"
"http"
"template"
)
type User struct {
Name string
}
func Register(w http.ResponseWriter, r *http.Request) {
if "GET" == r.Method {
fmt.Fprintln(w, "<h1>Register</h1>" +
"<form action='/' method='POST'>" +
" User Name: <input name='userName' value='Type in your name'/><input type='submit' value='Register'/>" +
"</form>")
return
}
user := &User{r.FormValue("userName")}
t, _ := template.ParseFile("hello.html", nil)
t.Execute(w, user)
}
func main() {
http.HandleFunc("/", Register)
http.ListenAndServe(":8080", nil)
}
hello.html
<h1>Hello, {Name}</h1>
总结
- 自动解析类型字段
- 模板需要自行编程进行缓存
下一步
- 数据持久化
----
Updates:
Nov 26, 2011 - 把图片移到了 SkyDrive