I've seen your initial code (actually the patch only) and it think it
is going in the right direction. A few ago I responded to a similar
question proposing a solution like you now implemented it. As the ajax
header response "replaces" the DOM it might not be a problem for ajax
components but rendering a whole page the more difficult thing was
with header contribution exclusion e.g. multiple MyLabelWithJavascript
components on the page to be rendered just once, markup inheritance
etc.

Juergen

On 7/6/06, Johan Compagner <[EMAIL PROTECTED]> wrote:
> that is not a problem
> The output goes to the HtmlHeaderContainer.getResponse() object
> So just make that a BufferedResponse so that you can get the string out of
> it.
>
> johan
>
>
>
> On 7/6/06, Matej Knopp <[EMAIL PROTECTED]> wrote:
> > Is there a reasonable way to render a header contribution of a component
> >   to a string? I'm asking, because looking at Component#renderHead, it
> > takes HtmlHeaderContainer as argument.
> > Juergen?
> >
> > -Matej
> >
> > Matej Knopp wrote:
> > > Matej Knopp wrote:
> > >> Adding both javascript and stylesheets seems to work, at least for
> > >> non-inline javascript and css. Still have to test inline stuff.
> > > I tested inline javascript, works well. Inline styles work too, but in
> > > IE you have to use document.createStyleSheet for it to work.
> > >
> > > I tested all this in FF, IE, Opera.
> > >
> > > Not the question remains, how to ensure that on the same page the
> > > contribution will be only once.
> > >
> > > I suggest handling this on server side.
> > >
> > > Say you have component on a page (not visible). You render page (without
> > > the component). Then you render the component (using ajax). The header
> > > contribution will be rendered. After that on every subsequent ajax
> > > component render, the header contribution will not be rendered, until
> > > the whole page is refreshed (re-rendered).
> > >
> > > -Matej
> > >
> > >
> > >> -Matej
> > >>
> > >> Johan Compagner wrote:
> > >>> if you add css or javascript to the head of the page at runtime in a
> > >>> dynamic way
> > >>> is it then seen in the browser??
> > >>> We should first test that.
> > >>>
> > >>> johan
> > >>>
> > >>>
> > >>> On 7/5/06, * Matej Knopp* <[EMAIL PROTECTED] <mailto: [EMAIL 
> > >>> PROTECTED]>>
> wrote:
> > >>>
> > >>>     Hi
> > >>>
> > >>>     There's a known problem with head contribution of components, that
> are
> > >>>     not rendered when the whole page is (are hidden or not even part
> of
> > >>>     hierarchy), but are additionally rendered using an AJAX call.
> > >>>
> > >>>     The problem is, that while the body of the component is placed in
> the
> > >>>     page, the head contribution is ignored.
> > >>>
> > >>>     Any ideas on how should we address this issue?
> > >>>
> > >>>     First I though that catching css links and javascript references
> from
> > >>>     renderHead would be enough.
> > >>>
> > >>>     But each component with associated markup can have it's own
> > >>>     <wicket:head>, and this is something we also have take into
> account.
> > >>>
> > >>>     So what I'm thinking of now is to let component render it's head
> to a
> > >>>     buffer - it will probably be a xml snippet with structure like:
> > >>>
> > >>>        <link rel="stylesheet" href="..."/>
> > >>>        <style type="text/css">
> > >>>          ...
> > >>>        </style>
> > >>>        <script type="text/javascript" src="...">
> > >>>        <script type="text/javascript">
> > >>>          ...
> > >>>        </script>
> > >>>
> > >>>     If this snippet is well formed, I think we can send it as a part
> of our
> > >>>     ajax response.
> > >>>         e.g.
> > >>>
> > >>>     <?xml version=" 1.0" encoding="UTF-8"?>
> > >>>     <ajax-response>
> > >>>         <component id="c1" >
> > >>>            <![CDATA[<span id="c1">3</span>]]>
> > >>>         </component>
> > >>>         <head>
> > >>>           <link rel="stylesheet" href="..."/>
> > >>>           <style type="text/css">
> > >>>              ...
> > >>>           </style>
> > >>>           <script type="text/javascript" src="...">
> > >>>           <script type="text/javascript">
> > >>>              ...
> > >>>           </script>
> > >>>         </head>
> > >>>     </ajax-response>
> > >>>
> > >>>
> > >>>     The DOM structure of the head part should be quite straightforward
> to
> > >>>     parse. The javascript used to add stylesheet and javascript to
> html head
> > >>>     does not seem difficult either.
> > >>>
> > >>>     Now the problem seems to be deciding, whether to apply the
> contribution,
> > >>>     or whether it has already been applied. We don't want to run the
> same
> > >>>     javascript twice, etc.
> > >>>
> > >>>     How should this be solved? Any ideas?
> > >>>
> > >>>     -Matej
> > >>>
> > >>>     Using Tomcat but need to do more? Need to support web services,
> > >>>     security?
> > >>>     Get stuff done quickly with pre-integrated technology to make your
> > >>>     job easier
> > >>>     Download IBM WebSphere Application Server v.1.0.1 based on Apache
> > >>>     Geronimo
> > >>>
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > >>>
> <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> >
> > >>>     _______________________________________________
> > >>>     Wicket-develop mailing list
> > >>>     Wicket-develop@lists.sourceforge.net
> > >>>     <mailto:Wicket-develop@lists.sourceforge.net>
> > >>>
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > >>>
> > >>>
> > >>>
> > >>>
> ------------------------------------------------------------------------
> > >>>
> > >>> Using Tomcat but need to do more? Need to support web services,
> security?
> > >>> Get stuff done quickly with pre-integrated technology to make your job
> easier
> > >>> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> > >>>
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > >>>
> > >>>
> > >>>
> ------------------------------------------------------------------------
> > >>>
> > >>> _______________________________________________
> > >>> Wicket-develop mailing list
> > >>> Wicket-develop@lists.sourceforge.net
> > >>>
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > >>
> > >> Using Tomcat but need to do more? Need to support web services,
> security?
> > >> Get stuff done quickly with pre-integrated technology to make your job
> easier
> > >> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> > >>
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > >> _______________________________________________
> > >> Wicket-develop mailing list
> > >> Wicket-develop@lists.sourceforge.net
> > >>
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > >>
> > >
> > >
> > > Using Tomcat but need to do more? Need to support web services,
> security?
> > > Get stuff done quickly with pre-integrated technology to make your job
> easier
> > > Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> > >
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > _______________________________________________
> > > Wicket-develop mailing list
> > > Wicket-develop@lists.sourceforge.net
> > >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > >
> >
> >
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make your job
> easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> >
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > _______________________________________________
> > Wicket-develop mailing list
> > Wicket-develop@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
>
>
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>
>
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>
>
>

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to