Clojure 模板中的Enlive代码段生成惰性序列
在以下HTML中访问localhost:3001/测试结果:Clojure 模板中的Enlive代码段生成惰性序列,clojure,enlive,Clojure,Enlive,在以下HTML中访问localhost:3001/测试结果: <html> <head> </head> <body>clojure.lang.LazySeq@27237276</body> </html> 看起来我没有正确使用模板和/或在某个地方搞砸了懒惰。我试着在一些地方放置doall,希望它能解决懒惰问题,但没有骰子 调试尝试: (welcome "oru") => ({:tag :h1, :at
<html>
<head>
</head>
<body>clojure.lang.LazySeq@27237276</body>
</html>
看起来我没有正确使用模板和/或在某个地方搞砸了懒惰。我试着在一些地方放置doall
,希望它能解决懒惰问题,但没有骰子
调试尝试:
(welcome "oru")
=> ({:tag :h1, :attrs {}, :content ("oru")})
(html/emit* (welcome "oru"))
=> ("<" "h1" ">" "oru" "</" "h1" ">")
(欢迎使用“oru”)
=>({:标记:h1,:属性{},:内容(“oru”)})
(html/emit*(欢迎使用“oru”))
=>(“oru”)
到目前为止还不错
(home-page "oru")
=> ("<" "html" ">" "\n " "<" "head" ">" "\n " "</" "head" ">" "\n " "<" "body" ">" "clojure.lang.LazySeq@27237276" "</" "body" ">" "\n\n" "</" "html" ">")
(主页“oru”)
=>(“”“\n”“\n”“\n”“clojure.lang。LazySeq@27237276“”\n\n“”)
砰<代码>“clojure.lang。LazySeq@27237276“,这到底是怎么回事?您想使用
内容,而不是html内容,因为代码片段会生成一系列节点html内容
需要一个文本html内容字符串,并且很可能只是对其参数调用str
(在本例中,是代码段的输出的惰性序列)
(home-page "oru")
=> ("<" "html" ">" "\n " "<" "head" ">" "\n " "</" "head" ">" "\n " "<" "body" ">" "clojure.lang.LazySeq@27237276" "</" "body" ">" "\n\n" "</" "html" ">")