我已经从数据库中获取了所有数据,然后数据处于循环状态。除了发生的循环之外,我想插入其他数据,例如会话和标题。然后我把它放入模板中。我猜测使用struct或slice,但学习后找不到解决方案。type Sekolah struct { Id int Nama string Alamat string Telp string }我有一个像上面这样的结构,然后我创建了句柄函数http.HandleFunc("/sekolah", func(w http.ResponseWriter, r *http.Request) {//THIS IS THE DATA I WANT TO SERVE IN TEMPLATEvar title := "Some Title"var session := "MySession" db, errdb := sql.Open("postgres", koneksi) if errdb != nil { fmt.Println(errdb) } rows, err := db.Query("SELECT id, nama, alamat, telp FROM public.m_sekolah") if err != nil { fmt.Println(err) http.Error(w, "there was an error", http.StatusInternalServerError) return } var id int var nama string var alamat string var telp string var sk []Sekolah for rows.Next(){ err = rows.Scan(&id, &nama, &alamat, &telp) if err != nil { fmt.Println(err) http.Error(w, "There was an error", http.StatusInternalServerError) return } sk = append(sk, Sekolah{Id: id, Nama: nama, Alamat: alamat, Telp: telp}) } err = tmpl.ExecuteTemplate(w, "data_sekolah", sk) if err != nil { fmt.Println(err) }})我想将标题和会话数据输入到SK数据中但不参与循环,然后我想将其粘贴到模板中。谁能帮我?
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
将所有数据放入地图中并将地图传递给模板。像这样的东西。
datamap := make(map[string]interface{})
datamap["title"] = <your title>
datamap["session"] = <your session>
datamap["sk"] = <your sk array>
然后,在模板上,访问如下字段。
<p>{{.title}}</p>
<p>{{.session}}</p>
{{range .sk}}
<p>{{.Nama}}</p>
{{end}}
笔记。该代码未经测试,但我已经在我之前的项目中解决了您的确切问题。干杯
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消