- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我刚开始尝试使用一些模板建立一个网站。在某些网站上,我在 Chrome 中收到 ERR_EMPTY_RESPONSE
并且在 cmd 中出现此错误:
2018/06/04 10:55:22 http: panic serving [::1]:9954: runtime error: invalid memory address or nil pointer dereference
goroutine 178 [running]:
net/http.(*conn).serve.func1(0xc042050000)
C:/Go/src/net/http/server.go:1726 +0xd7
panic(0x71dca0, 0x955b10)
C:/Go/src/runtime/panic.go:502 +0x237
html/template.(*Template).escape(0x0, 0x0, 0x0)
C:/Go/src/html/template/template.go:95 +0x35
html/template.(*Template).Execute(0x0, 0x7c17c0, 0xc04221a000, 0x732d60, 0xc042222200, 0xc042450590, 0x9)
C:/Go/src/html/template/template.go:119 +0x36
main.clientsHandler(0x7c42c0, 0xc04221a000, 0xc042254000)
C:/Users/KevinZielke/Documents/Studium/MT/WEB/Praktikum/server/server.go:114 +0x1fc
net/http.HandlerFunc.ServeHTTP(0x798580, 0x7c42c0, 0xc04221a000, 0xc042254000)
C:/Go/src/net/http/server.go:1947 +0x4b
net/http.(*ServeMux).ServeHTTP(0x9648c0, 0x7c42c0, 0xc04221a000, 0xc042254000)
C:/Go/src/net/http/server.go:2337 +0x137
net/http.serverHandler.ServeHTTP(0xc04204ca90, 0x7c42c0, 0xc04221a000, 0xc042254000)
C:/Go/src/net/http/server.go:2694 +0xc3
net/http.(*conn).serve(0xc042050000, 0x7c4480, 0xc042130080)
C:/Go/src/net/http/server.go:1830 +0x658
created by net/http.(*Server).Serve
C:/Go/src/net/http/server.go:2795 +0x282
tmpl.Execute
似乎出了点问题。奇怪的是,完全相同的代码对某些网站有效,而对某些网站却无效。
我减少了 2 个网站示例的代码。 购物车
有效。 客户端
没有。
package main
import (
"html/template"
"log"
"net/http"
)
type User struct{
Name string
Role string
Pic string
RentedEq string
Expire string
Status string
Id int
}
type Eq struct{
Name string
Desc string
Rentdate string
Turnbackdate string
Pic string
Count int
User string
}
}
type Clients struct{
User User
Users []User
}
type Cart struct{
User User
Carts []Eq
}
func main() {
fs := http.FileServer(http.Dir("static"))
http.Handle("/static/", http.StripPrefix("/static/", fs))
http.HandleFunc("/cart/", cartHandler)
http.HandleFunc("/clients/", clientsHandler)
log.Println("Listening...")
http.ListenAndServe(":3000", nil)
}
func clientsHandler(w http.ResponseWriter, r *http.Request) {
data := Clients{
User: User{Name : "Dr. Acula", Role : "Admin", Pic : "../static/pics/dummy.png",},
Users: []User{
{Name: "Peter Pan", RentedEq: "Kamera 1", Expire: "05.06.2019"},
{Name: "Petra Pan", RentedEq: "Kamera 3", Expire: "08.10.2019"},
},
}
tmpl, _ := template.ParseFiles("./template/clients.html")
err := tmpl.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
func cartHandler(w http.ResponseWriter, r *http.Request) {
data := Cart{
User: User{Name : "Peter Pan", Role : "Benutzer", Pic : "../static/pics/dummy.png",},
Carts: []Eq{
{Name: "Kamera 1", Desc: "schießt Fotos", Pic: "../static/pics/dummy.png", Count:1, Turnbackdate:"12.08.2018",},
{Name: "Kamera 2", Desc: "schießt auch Fotos", Pic: "../static/pics/dummy.png", Count:3, Turnbackdate:"22.10.2018",},
},
}
tmpl, _ := template.ParseFiles("./template/cart.html")
err := tmpl.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
这些是模板:购物车:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../static/css/bootstrap-4.1.0-dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="../static/css/custom.css" />
<title>Warenkorb - borgdir.media</title>
</head>
<body class="container-fluid col-10">
<header class="container-fluid">
<div class="row">
<div class="col-4 k">
<a class="" href="/equipment"><h1>borgdir.media</h1></a>
</div>
<div class="col-1 k text-center">
<a class="" href="/equipment">Equpiment</a>
</div>
<div class="col-1 k text-center">
<a href="/my-equipment">Meine Geräte</a>
</div>
<div class="col-1 k text-center">
<a href="/">Logout</a>
</div>
<div class="col-1 k text-center">
<a href="/cart"><img class="img-fluid" src="../static/icons/cart.png" alt="Warenkorb"></img></a>
</div>
<div class="col-3 k text-right">
<a href="/profil">{{.User.Name}}</br>{{.User.Role}}</a>
</div>
<div class="col-1 k">
<img class="img-fluid" src={{.User.Pic}}></img>
</div>
</div>
</header>
<div>
<h2>Warenkorb</h2>
<div class="container-fluid">
<table class="table">
<tr class="d-flex">
<th class="col-3">Equipment</th>
<th class="col-4">Beschreibung</th>
<th class="col-2 text-center">Anzahl</th>
<th class="col-2 text-center">Rückgabe bis</th>
<th class="col-1">Löschen</th>
</tr>
{{range .Carts}}
<tr class="d-flex">
<th class="col-3"><img class="img-fluid" src={{.Pic}}></img>{{.Name}}</th>
<th class="col-4">{{.Desc}}</th>
<th class="col-2">{{.Count}}</th>
<th class="col-2">{{.Turnbackdate}}</th>
<th class="col-1"><button><img class="img-fluid" src="../icons/delete.png"></img></button></th>
</tr>
{{end}}
</table>
<br>
<input type="submit" value="Jetzt ausleihen">
</div>
</div>
</body>
</body>
</html>
客户:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../static/css/bootstrap-4.1.0-dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="../static/css/custom.css" />
<title>}Kunden verwalten - borgdir.media</title>
</head>
<body class="container-fluid col-10">
<header class="container-fluid">
<div class="row">
<div class="col-4 k">
<a class="" href="/admin-equipment"><h1>borgdir.media</h1></a>
</div>
<div class="col-1 k text-center">
<a class="" href="/admin-equipment">Equpiment</a>
</div>
<div class="col-1 k text-center">
<a href="/clients">Kunden</a>
</div>
<div class="col-1 k text-center">
<a href="/">Logout</a>
</div>
<div class="col-3 k text-right">
<a href="/profil">{{.User.Name}}</br>{{.User.Role}}</a>
</div>
<div class="col-1 k">
<img class="img-fluid" src={{.User.Pic}}></img>
</div>
</div>
</header>
<div>
<h2>Kunden</h2>
<div class="row col-12">
<div>
Kategorie</br>
<input type="text" name="suche" value="Suche">
</div>
<select>
<option value="Alle">Alle</option>
<option value="keine">keine</option>
</select>
<input type="submit" value="Suchen">
</div>
<div class="container-fluid">
<table class="table">
<tr class="d-flex">
<th class="col-4">Equipment</th>
<th class="col-5">Ausgeliehenes Equipment</th>
<th class="col-3">Status</th>
</tr>
{{range .Users}}
<tr class="d-flex">
<th class="col-4">{{.Name}}</th>
<th class="col-5">{{.RentedEq"}}</th>
<th class="col-2">Konto aktiv bis:</br>{{.Expire}}</th>
<th class="col-1"><button><img class="img-fluid" src="../static/icons/edit.png"></img></button></th>
</tr>
{{end}}
</table>
</div>
</div>
</body>
</body>
</html>
我检查了很多。我只是看不出有什么区别。
最佳答案
您有一些语法错误。 clients.html 中 RentedEq
的标题中有一个额外的 {
和额外的 "
。
解决这个问题应该可以解决 panic 。
关于html - 为什么我的 go-code 不适用于每个模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50677366/
code
正常吗?
我刚刚开始使用 YARD 来记录我的 Rails 应用程序。我没有指定任何特定的标记处理程序,但我希望 `code` 会转换为 code,但这似乎没有发生。这是正常行为吗?我是否必须添加一些额外的选项
什么是Code-Server 首先程序员朋友们肯定都用过来自微软的VS Code 这款轻量而又高级的编辑器,拥有丰富的插件库,支持各种语言编译运行。而本文介绍的Code-Server就是coder 公
我是一名高中生,今年开始学习汇编。 我目前正在制作 Pacman 克隆作为我的最终项目。 我遇到的唯一问题是我的代码很大,*.exe 文件几乎有 64KB。 所以我的问题是,如果我转向模型介质,我需要
锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 挑战 按字符计数绘制 Code 39 条码的 ASCII 表示的最短代码。 维基百科关于代码 3
我正在开发 VS 代码的扩展(使用 javascript)。现在我需要安装 VS Code 的路径。 windows有一种方法: var child = require('child_process'
[Windows 10] 我在自定义目录中安装了“Microsoft VS Code(用户设置)”,每当我尝试更新它时,都会显示: 然后这个 Log Info Dec 23 11:42:40.673
我正在尝试更新我的 VS 代码,但收到一条错误消息:由于防病毒软件和/或进程失控,更新可能会失败。 附加了一个来 self 的用户的日志文件,但我不确定要检查什么。我对计算机和编程还是个新手。 最佳答
几天前我安装了 Kali Linux。我正在尝试使用 Code-OSS 而不是 VSCode,因为最新版本的 Kali 没有安装普通版本所需的库。 如果我尝试使用 code-oss . 或 code
我正在从 Atom 迁移到 VS Code,因为这似乎是当今所有酷 child 都在使用的东西。 在 atom 中,我能够如图所示突出显示当前行号(装订线中的蓝色突出显示)。 有没有办法在 VS Co
我试图找到一个明确的 G 代码语法规范,而不是单个 G 代码的含义,我无处不在的规范,我的意思是详细的语法规范,目的是编写解析器。 我编写解析器没有问题,我只是在寻找语法规范,例如。我知道您不必总是为
我想在 VS Code (Windows) 中使用 Fira Code,并且已经按照 instructions 中的说明配置了字体。 。不知何故,字体看起来很模糊。我该如何解决这个问题? "edito
这个问题已经有答案了: How can I navigate back to the last cursor position in Visual Studio Code? (16 个回答) 已关闭
如何选择当前单词,即插入符号所在的位置。 注意:我正在寻找 Visual Studio Code(VS Code)(文本编辑器)的快捷方式,而不是 Visual Studio IDE。 最佳答案 在
我需要在 VS Code 中安装 flutter 但在安装扩展中,我有这个错误 Unable to install 'Dart-Code.flutter'; there is no available
memberData
有什么区别
{@code memberData} 和有什么区别?和 memberData在 JavaDoc 中 最佳答案 有两个主要区别: {@code ...}更简洁:更易于阅读(和输入)。 {@code ..
我有这样一个字符串: Here is my code sample, its not too great: [CODE] [/CODE] I hope you enjoy. 现在我想用 highli
在 VS Code 中,我有一个少于 50 个文件的 Vue 项目,但是在运行开发服务器时 VS Code 抛出 Error: ENOSPC: System limit for number of f
Source Code Pro 如何在 VSC 中使用 ExtraLight ~? 似乎以下不起作用...... 我确定我有字体。 Source Code Pro ExtraLight 最佳答案 编辑
我对 Visual Studio Code 很陌生。我正在尝试调试一个已经存在的应用程序,我已经通过 Git 克隆了它。我的文件都没有被修改。我已经下载了微软扩展“C# for Visual Stud
Visual Code VS Visual Studio Code Insider 我还是不明白这两者有什么区别,难道其中一个是新功能的试用版吗? 最佳答案 Visual Studio Code In
我是一名优秀的程序员,十分优秀!