一. 资源拷贝
- 删除项目中static和view文件夹,把02资料/章节203总体页面展示中内容粘贴到项目中
- 测试登录成功后是否可以正确显示主页面
二.代码修改
- 确保%GOROOT%/src/github.com/下有gorilla文件夹,如果没有参照:03数据库操作和Go Web/笔记/章节4_07_restful进行配置
- 由于在main中声明的全局对象无法被其他包调用,所以在commons文件夹下新建CommonVars.go,保证整个项目任何包都可以使这个对象进行设置Handler
package commonsimport "github.com/gorilla/mux"var ( Router = mux.NewRouter())
package mainimport ( "net/http" "html/template" "user" "commons" "github.com/gorilla/mux")//显示登录页面func welcome(w http.ResponseWriter, r *http.Request) { t, _ := template.ParseFiles("view/login.html") t.Execute(w, nil)}//restfule风格显示页面func showPage(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) t, _ := template.ParseFiles("view/" + vars["page"] + ".html") t.Execute(w, nil)}func main() { commons.Router.HandleFunc("/", welcome) commons.Router.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) commons.Router.HandleFunc("/page/{page}", showPage) //调用所有user模块的handler user.UserHandler() http.ListenAndServe(":80", commons.Router)}
- 修改user/UserController中UserHandler()函数
//所有user模块的handlerfunc UserHandler() { commons.Router.HandleFunc("/login", loginController)}