2017-01-23 4 views
0

У меня проблемы с https://hackage.haskell.org/package/snap-1.0.0.1/docs/Snap-Snaplet-Heist-Interpreted.html#v:render при попытке визуализации шаблона. Проблема возникает только тогда, когда я следующий в качестве содержимого шаблона:HTML doctype, созданный с помощью шаблона Snap/Heist

<!DOCTYPE html> 
</html> 

в то время как следующее содержание делает хорошо

<html> 
</html> 

Таким образом, кажется, что-то делать с HTML DOCTYPE.

Исключение, которое происходит:

*** 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 

ответ

3

Ваш первый пример не является действительным HTML. Я думаю, что вы хотите:

<!DOCTYPE html> 
<html> 
</html> 

тип документа не совпадает с открывающейся <html> тега.

Браузеры действительно разрешительны, поэтому они будут принимать вашу версию без жалоб, но интерпретируемый Heist пытается проанализировать шаблоны в действительном HTML, поэтому он зажимает конечный тег (</html>) без правильного начального тега.

Смежные вопросы