目录
如何在go中增量写入html模板
Feb 06, 2024 am 09:50 AM问题内容
我正在构建一个基于 web 的数据浏览器,名为 mavgo flight。 我希望 sqlite 中的大型表能够连续打印,而不是仅在所有数据可用时才打印的默认行为。我尝试按每行数据运行模板,但失败了。
func renderHTMLTable(w http.ResponseWriter, result *sqlx.Rows) { cols, err := result.Columns() if err != nil { log.Println(err, "renderHTMLTable") return } tmpl, err := template.ParseFiles("./templates/2d.html") if err != nil { log.Println("template failed", err) return } data := HTMLTable{} data.Cols = cols for result.Next() { cols, err := result.SliceScan() if err != nil { log.Println(w, err) break } s := make([]string, len(cols)) for i, v := range cols { s[i] = fmt.Sprint(v) } tmpl.Execute(w, s) } }
登录后复制
正确答案
我放弃了聪明,完全按照 cerise 的建议去做 增量写入行的函数:
func renderHTMLTable(w http.ResponseWriter, result *sqlx.Rows) { cols, err := result.Columns() if err != nil { log.Println(err, "renderHTMLTable") return } head, err := template.ParseFiles("./templates/head.html") if err != nil { log.Println("template failed", err) return } row, err := template.ParseFiles("./templates/row.html") if err != nil { log.Println("template failed", err) return } foot := ` </tbody> </table> </div> </body> </html>` head.Execute(w, cols) s := make([]string, len(cols)) for result.Next() { values, err := result.SliceScan() if err != nil { log.Println(w, err) break } for i, v := range values { s[i] = fmt.Sprint(v) } row.Execute(w, s) } fmt.Fprint(w, foot)
登录后复制
}
以上是如何在go中增量写入html模板的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)