首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Snap / Heist模板呈现的HTML doctype

使用Snap / Heist模板呈现的HTML doctype
EN

Stack Overflow用户
提问于 2017-01-23 22:20:18
回答 1查看 59关注 0票数 0

在尝试呈现模板时,我遇到了https://hackage.haskell.org/package/snap-1.0.0.1/docs/Snap-Snaplet-Heist-Interpreted.html#v:render的问题。只有当我将以下内容作为模板的内容时,才会出现问题:

代码语言:javascript
复制
<!DOCTYPE html>
</html>

而下面的内容呈现得很好

代码语言:javascript
复制
<html>
</html>

因此,这似乎与HTML文档类型有关。

发生的异常:

代码语言:javascript
复制
*** Exception: 
Initializer threw an exception...
/home/chris/Projects/Haskell/pkgscrape/Snap/snaplets/heist/templates/compareForm.tpl "/home/chris/Projects/Haskell/pkgscrape/Snap/snaplets/heist/templates/compareForm.tpl" (line 21, column 2):
unexpected "/"
CallStack (from HasCallStack):
  error, called at src/Snap/Snaplet/Heist/Internal.hs:74:35 in snap-1.0.0.1-6iNEjVc81Z8CCk3FAMxZ8z:Snap.Snaplet.Heist.Internal

...but before it died it generated the following output:
Initializing myapp @ /
Initializing heist @ /heist


CallStack (from HasCallStack):
  error, called at src/Snap/Snaplet/Internal/Initializer.hs:597:13 in snap-1.0.0.1-6iNEjVc81Z8CCk3FAMxZ8z:Snap.Snaplet.Internal.Initializer
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 22:51:57

您的第一个示例是无效的HTML。我认为你想要:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
</html>

doctype与开始<html>标记不同。

浏览器真的很宽松,所以他们会毫不犹豫地接受你的版本,但Interpreted Heist试图将模板解析成有效的超文本标记语言,所以它在没有正确的开始标签的情况下扼杀了结束标签(</html>)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41808501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档