なぜ私のコードはすべてのテンプレートで機能しないのですか?

Snessub:

私は初めてで、いくつかのテンプレートを使用してWebサイトをセットアップしようとしています。一部のサイトではERR_EMPTY_RESPONSE、Chromeでこのエラーがコマンドに表示されます。

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つのサイト例でコードを減らしました。Cart動作します。Clientsしません。

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>

たくさんチェックしました。違いがわかりません。

IvanV:

構文エラーがあります。余分あります{タイトルや余分中"の最後にRentedEqclients.htmlでは。

これを修正すると、パニックが修正されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「未定義」エラーが発生するのに、コードがMeteorテンプレートで機能しているのはなぜですか?

分類Dev

私のisNaNが私のifステートメントで機能しないのはなぜですか

分類Dev

外部テンプレートで使用しているときにv-onがVueコンポーネントで機能しないのはなぜですか?

分類Dev

テンプレートの推定で暗黙的な型変換が機能しないのはなぜですか?

分類Dev

コード内のifステートメントが機能しないのはなぜですか?

分類Dev

このCloudFormationテンプレートスクリプトが機能しないのはなぜですか?

分類Dev

このコードがstd :: hashテンプレートの**すべて**の列挙に特化しているのはなぜですか?

分類Dev

sizeof ...がこのエイリアステンプレートで機能しないのはなぜですか?

分類Dev

このブロックがERBテンプレートで機能しないのはなぜですか

分類Dev

forループ内のイベントハンドラーがすべての反復で機能しないのはなぜですか?

分類Dev

私のrubycaseステートメントが機能しないのはなぜですか?

分類Dev

なぜ私のAngularコードが機能しないのですか?

分類Dev

なぜ私のAngularコードが機能しないのですか?

分類Dev

このテンプレート仕様が参照用に機能しないのはなぜですか?

分類Dev

この再帰テンプレートが機能しないのはなぜですか?

分類Dev

コマンドに対してbashブレース拡張が機能しないのはなぜですか?

分類Dev

コマンドに対してbashブレース拡張が機能しないのはなぜですか?

分類Dev

なぜ私はコードの下にすべてのエラーを取得していないのですか?

分類Dev

テンプレートリンクリストが機能しないのはなぜですか?

分類Dev

テンプレートでBootstrapJが機能しないのはなぜですか?

分類Dev

テンプレートがJSONDecodableで機能しないのはなぜですか

分類Dev

コードが機能しないのはなぜですか?

分類Dev

テンプレートパラメータパックが機能しないのはなぜですか?

分類Dev

C ++:テンプレートでの暗黙的なキャスト、なぜ機能しないのですか?

分類Dev

解析したHTMLテンプレートが機能しないのはなぜですか?

分類Dev

オートコンプリート機能が機能しないのはなぜですか?

分類Dev

関数テンプレートがint []で機能するのに、Dのchar []配列では機能しないのはなぜですか?

分類Dev

このコードでルーティングが機能しないのはなぜですか?

分類Dev

なぜこのクエリはphpmyadminで常に機能しているのに、私のphp pdoコードでは時々機能するのですか?

Related 関連記事

  1. 1

    「未定義」エラーが発生するのに、コードがMeteorテンプレートで機能しているのはなぜですか?

  2. 2

    私のisNaNが私のifステートメントで機能しないのはなぜですか

  3. 3

    外部テンプレートで使用しているときにv-onがVueコンポーネントで機能しないのはなぜですか?

  4. 4

    テンプレートの推定で暗黙的な型変換が機能しないのはなぜですか?

  5. 5

    コード内のifステートメントが機能しないのはなぜですか?

  6. 6

    このCloudFormationテンプレートスクリプトが機能しないのはなぜですか?

  7. 7

    このコードがstd :: hashテンプレートの**すべて**の列挙に特化しているのはなぜですか?

  8. 8

    sizeof ...がこのエイリアステンプレートで機能しないのはなぜですか?

  9. 9

    このブロックがERBテンプレートで機能しないのはなぜですか

  10. 10

    forループ内のイベントハンドラーがすべての反復で機能しないのはなぜですか?

  11. 11

    私のrubycaseステートメントが機能しないのはなぜですか?

  12. 12

    なぜ私のAngularコードが機能しないのですか?

  13. 13

    なぜ私のAngularコードが機能しないのですか?

  14. 14

    このテンプレート仕様が参照用に機能しないのはなぜですか?

  15. 15

    この再帰テンプレートが機能しないのはなぜですか?

  16. 16

    コマンドに対してbashブレース拡張が機能しないのはなぜですか?

  17. 17

    コマンドに対してbashブレース拡張が機能しないのはなぜですか?

  18. 18

    なぜ私はコードの下にすべてのエラーを取得していないのですか?

  19. 19

    テンプレートリンクリストが機能しないのはなぜですか?

  20. 20

    テンプレートでBootstrapJが機能しないのはなぜですか?

  21. 21

    テンプレートがJSONDecodableで機能しないのはなぜですか

  22. 22

    コードが機能しないのはなぜですか?

  23. 23

    テンプレートパラメータパックが機能しないのはなぜですか?

  24. 24

    C ++:テンプレートでの暗黙的なキャスト、なぜ機能しないのですか?

  25. 25

    解析したHTMLテンプレートが機能しないのはなぜですか?

  26. 26

    オートコンプリート機能が機能しないのはなぜですか?

  27. 27

    関数テンプレートがint []で機能するのに、Dのchar []配列では機能しないのはなぜですか?

  28. 28

    このコードでルーティングが機能しないのはなぜですか?

  29. 29

    なぜこのクエリはphpmyadminで常に機能しているのに、私のphp pdoコードでは時々機能するのですか?

ホットタグ

アーカイブ