go html/template包 新建一个模板然后使用Parse方法之后使用Execute方法发现居然不会输出!!!

0lightbee0 · 2017-06-30 05:48:50 · 3499 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-06-30 05:48:50 的主题,其中的信息可能已经有所发展或是发生改变。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3499 次点击  
加入收藏 微博
5 回复  |  直到 2017-06-30 07:04:30
0lightbee0
0lightbee0 · #1 · 8年之前

直接解析字符串没有问题

abin
abin · #2 · 8年之前

解析文件时直接用template.ParseFiles,你在执行tmpl.Execute(os.Stdout, nil)时打印错误就会看到错误信息的

0lightbee0
0lightbee0 · #3 · 8年之前
abinabin #2 回复

解析文件时直接用`template.ParseFiles`,你在执行`tmpl.Execute(os.Stdout, nil)`时打印错误就会看到错误信息的

可是并没有。。什么都没有输出。我该如何解决?

abin
abin · #4 · 8年之前
0lightbee00lightbee0 #3 回复

#2楼 @abin 可是并没有。。什么都没有输出。我该如何解决?

建议可以看下源码,t := template.New("ttt") 创建一个空的template,tmpl, err := t.ParseFiles("test.html") 创建一个名为test.html的template,这个时候 tmpl 和 t 是相等的,所以tmpl 也是空的template。

建议:

1.t := template.New("ttt") 中 ttt 改为跟文件名一样 test.html。

2.tmpl.Execute(os.Stdout, nil) 改为 tmpl.ExecuteTemplate(os.Stdout, "test.html", nil)

具体的话建议看下官方的使用方法或者看下源码,不知道你的具体需求只能这样了。。。 :smile:

0lightbee0
0lightbee0 · #5 · 8年之前
abinabin #4 回复

#3楼 @0lightbee0 建议可以看下源码,`t := template.New("ttt")` 创建一个空的template,`tmpl, err := t.ParseFiles("test.html")` 创建一个名为test.html的template,这个时候 tmpl 和 t 是相等的,所以tmpl 也是空的template。 建议: 1.`t := template.New("ttt")` 中 ttt 改为跟文件名一样 test.html。 2.`tmpl.Execute(os.Stdout, nil)` 改为 `tmpl.ExecuteTemplate(os.Stdout, "test.html", nil)`。 具体的话建议看下官方的使用方法或者看下源码,不知道你的具体需求只能这样了。。。 :smile:

我现在已经知道了,这正是我要的答案,真是谢谢你了。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传