[racket] how to display formlets inside templates
formlet-display returns a forest of xexprs
Templates are about writing the text directly as a string.
Whenever you want to include any non-string content in a template,
you'll need to render it as a string. In the case of the result of
formlet display, that means something like
@in[xe (formlet-display f)]{ @(xexpr->string xe) }
or just
@(map xexpr->string (formlet-display f))
Jay
On Fri, Jan 6, 2012 at 9:08 AM, keydana at gmx.de <keydana at gmx.de> wrote:
> Hi,
>
> sorry for coming with a web server-related question again already, but I have problems figuring out how to display formlets inside templates.
> I've tried several ways, the latest being:
>
> ...
> (send/suspend/dispatch
> (lambda (make-url)
> (get-main-template #:title "start"
> #:main (include-template "choose-db-form.html")))))
>
>
> where I have one function providing the "general html template":
>
> (define (get-main-template #:title (title "") #:top (top "") #:left (left "") #:main (main "") #:right (right "") #:footer (footer ""))
> (response/full
> 200 #"Okay"
> (current-seconds) TEXT/HTML-MIME-TYPE
> empty
> (list (string->bytes/utf-8 (include-template "main.html")))))
>
>
> and include a sub-template for the body, which should contain a form provided by a formlet looking like this:
>
> (define f-choose-db
> (formlet
> (#%# ,((radiogroup-input '(orcl rndba)) . => . db)
> ,(input-string . => . user)
> ,(input-string . => . pw)
> ,((submit #"submit") . => . sm))
> (list db user pw)))
>
>
> As the sub-template, I've tried
>
> <div>
> <p>@|errortext|</p>
> <form action="@(make-url connect-handler)">
> @(formlet-display f-choose-db)
> </form>
> </div>
>
> which I understand does not look like it could work - formlet-display, when called alone, displaying with parentheses and not as html - but still I don't know how to do it - for example, I cannot call xexpr->xml on the displayed formlet because it's not an xexpr...
>
> Could someone give me a hint how to do it?
>
> Many thanks in advance,
> Sigrid
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93