到目前为止,我在cl-who中看到的所有示例都是这样工作的:
(with-html-output-to-string (s)
(:HTML (:HEAD (:TITLE "hello")) (:BODY (:DIV "world"))))它工作得很好。但是,我想使用带有变量的with-html-output-to-string,而不是硬编码的html树;如果*p*有(:HTML (:HEAD (:TITLE "hello")) (:BODY (:DIV "world"))),我就这么做了
(with-html-output-to-string (s)
*p*)结果,我得到了""。我猜因为with-html-output-to-string是一个宏,所以它的最后一个参数永远不会求值。有什么办法可以绕过这个问题吗?
发布于 2013-06-15 05:47:24
使用cl-who:str;在http://weitz.de/cl-who/#example上查看示例。
如果您这样做了:
(with-html-output-to-string (s)
(str *p*))您将获得预期的输出。
发布于 2013-06-11 16:52:44
将部分html树作为lisp表单传递并不是cl-who中所期望的方式,但您可以使用一些cl-who内部机制(应用tree-to-commands)来编写一个小型包装器。
https://stackoverflow.com/questions/17031815
复制相似问题