[hunchentoot-devel] Printing the output

I am a bit confused about using macros like with-html. Let's say if I want to produce an html with my post parameter value in it. Just saying (:p (post-parameter "foo")) won't put the value in the <p> tag. On the other hand saying (:p (format t "~a" (post-parameter "foo"))) or (:p (esc (post-parameter "foo"))) will produce the expected result. Same goes with (:p (esc (with-output-to-string (s) (format s "~a" (post-parameter "foo"))))) My question is what's common about the latter examples that makes a printing possible? Does it mean that all printing within with-html should happen to *standard-output* and the esc function redirects it to it? What package should I look at to have a better understanding of it? Thank you! Andrew

On Thu Feb 08, 2007 at 10:40:38AM -0500, Andrei Stebakov wrote:
I am a bit confused about using macros like with-html. Let's say if I want to produce an html with my post parameter value in it. Just saying (:p (post-parameter "foo")) won't put the value in the <p> tag. On the other hand saying (:p (format t "~a" (post-parameter "foo"))) or (:p (esc (post-parameter "foo"))) will produce the expected result. Same goes with (:p (esc (with-output-to-string (s) (format s "~a" (post-parameter "foo")))))
Try this: (with-html (:p (str (post-parameter "foo")))) --Jeff

On Thu, 8 Feb 2007 10:40:38 -0500, "Andrei Stebakov" <lispercat@gmail.com> wrote: [This should really go to cl-who-devel, see Cc.]
I am a bit confused about using macros like with-html. Let's say if I want to produce an html with my post parameter value in it. Just saying (:p (post-parameter "foo")) won't put the value in the <p> tag.
See STR or ESC: http://weitz.de/cl-who/#syntax
On the other hand saying (:p (format t "~a" (post-parameter "foo"))) or (:p (esc (post-parameter "foo"))) will produce the expected result. Same goes with (:p (esc (with-output-to-string (s) (format s "~a" (post-parameter "foo")))))
The first form works only by accident, the second form is OK, the third one is a bit overdone.
My question is what's common about the latter examples that makes a printing possible? Does it mean that all printing within with-html should happen to *standard-output* and the esc function redirects it to it?
Look at the first parameter of WITH-HTML-OUTPUT[-TO-STRING].
What package should I look at to have a better understanding of it?
Package? What do packages have to do with your question? http://www.lispworks.com/documentation/HyperSpec/Body/11_.htm Have you read the documentation? http://weitz.de/cl-who/ Cheers, Edi.
participants (3)
-
Andrei Stebakov
-
Edi Weitz
-
Jeffrey Cunningham