如何解决Golang中的html渲染器,无需第三方导入
我正在自学go,并且已经开始尝试使用go作为后端。
我有以下呈现HTML页面的代码,但我正在寻找一种不依赖第三方导入的解决方案,以更好地了解正在发生的事情和需要完成的事情。
package main
import (
"log"
"net/http"
"github.com/thedevsaddam/renderer"
)
var rnd *renderer.Render
func init() {
opts := renderer.Options{
ParseGlobPattern: "./pages/*.gohtml",}
rnd = renderer.New(opts)
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/",home)
mux.HandleFunc("/about",about)
port := ":9000"
log.Println("Listening on port ",port)
http.ListenAndServe(port,mux)
}
func home(w http.ResponseWriter,r *http.Request) {
rnd.HTML(w,http.StatusOK,"home",nil)
}
func about(w http.ResponseWriter,"about",nil)
}
GOHTML文件为:
{{ define "home"}}
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>HOME</h1>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
</ul>
</body>
</html>
{{ end }}
{{ define "about" }}
<!DOCTYPE html>
<html>
<head>
<title>About</title>
</head>
<body>
<h1>ABOUT</h1>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
</ul>
</body>
</html>
{{ end }}
非常感谢您的帮助
解决方法
使用标准库中的html/template软件包。您正在使用的渲染器只是围绕它的薄包装。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。