我正在尝试使用cl-who生成以下html代码:
<html>
<body>
<div id="cnt_1"></div>
<div id="cnt_2"></div>
<div id="cnt_3"></div>
</body>
</html>下面是我认为可以工作的代码:
(with-html-output-to-string (*standard-output* nil)
(:html
(:body
(do ((cnt 1 (+ cnt 1)))
((> cnt 3))
(htm (:div :id (format t "cnt_~A" cnt)))))))但是我得到了以下输出:
<html><body><divcnt_1></div><divcnt_2></div><divcnt_3></div></body></html>看起来像这样:id不适用于函数调用。这是否意味着我不能在cl-who中使用格式?我应该用什么来代替呢?
发布于 2012-07-03 23:42:40
这是因为您不想直接在流中编写代码。
CL-USER> (with-html-output-to-string (s) (:div :id "test"))
"<div id='test'></div>"
CL-USER> (with-html-output-to-string (s)
(:html
(:body
(do ((cnt 1 (+ cnt 1)))
((> cnt 3))
(htm (:div :id (format nil "cnt_~A" cnt)))))))
"<html><body><div id='cnt_1'></div><div id='cnt_2'></div><div id='cnt_3'></div></body></html>"顺便说一句,如果你想直接在流中写,使用CL-WHO:FMT。
https://stackoverflow.com/questions/11313795
复制相似问题