Hi Dan!
Please use the mailing lists for future questions like these - see Cc
and the links on the websites. Thanks.
On Wed, 08 Jun 2005 19:47:00 -0400, Dan Larkin <dl9534(a)albany.edu> wrote:
> First of all let me thank you for your terrific software. The
> availability of your software (and others too) has really helped
> my picking up lisp.
You're welcome... :)
> For the past few days I've been reading c.l.l (but not posting,
> because I don't know nearly enough to participate in any of the
> current discussions). My background with lisp began this winter
> when I started a course at my University in scheme. Since then
> I've been trying to get going with common lisp and web
> programming (since that is what I do during the summer at my
> job).
Good luck! I'm sure you'll have fun with CL.
> But anyway, on to my question: How can I get a template parsed
> with html-template to come up with as a tbnl page? I'm working
> off the tbnl-test example so I have just created a new function
> add-artist' and added it to dispatch table, but I can't figure out
> how to get it to output the results of parsing a template.
Something like
(defun add-artist ()
(with-output-to-string (*default-template-output*)
(fill-and-print-template template/printer values)))
should do it. Note that FILL-AND-PRINT-TEMPLATE prints its output to
the stream *DEFAULT-TEMPLATE-OUTPUT* and TBNL wants a string returned
by the handler, so the code above makes sure everything printed to
this stream ends up in a string which is returned by the function.
This assumes that ADD-ARTIST is a handler, not a dispatcher.
> Also another issue I am having is get-parameters, get-parameter,
> post-parameters and post-parameter all don't seem to work. Even
> with something like
> (defun add-artist ()
> (with-html
> (:html
> (get-parameters))))
> does not work (the way I'd expect it to at least, it produces only
> the prologue and <html></html> even when passed parameters).
WITH-HTML is the macro which uses CL-WHO from the test suite, right?
If that's the case you must wrap the form (GET-PARAMETERS) with
something that asks CL-WHO to include it in the output, otherwise
it'll only be evaluated for its side effects. One of
(str (get-parameters))
(esc (get-parameters))
(fmt "~S" (get-parameters))
should do it.
Does that help?
Cheers,
Edi.