i don't know the full details, but could the implementation details of how the component redraws be hidden in an abstraction (perhaps in the ajax handler class?)?

Igor Vaynberg wrote:
i really dont see the need for this extra indirection in the request target, i think it belongs in a subclass of ajax handler. this subclass knows how to combine the generated markup and how to invoke the proper methods on the component. sure the target can hide the onbegin/endrequest but i dont think its necessary. its too much overhead and setup just to get an html string back - which is what it really is.

i used the stream in my example because thats what the components write to. currently they are hardwired to write to the response's stream, and this is part of the problem which requires response swapping. if we had a method that took the output stream directly things would be easier, and the old method can invoke this one and pass in the response stream.

but then again this is my pesonal preference. i would like there to be only one way to do this though to keep things simpler and more straight forward. whether that be a request target or direct invocation on the component's render method i dont know.

i like the simplicity of the direct invocation. it requires much less work and i can decide which components to update inside my ajax handler while its executing. also when debugging the ajax handler you dont need to walk the request processor to see what its doing, etc. its a shorter path imho.

-Igor




On 1/14/06, *Eelco Hillenius* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    I think that as both techniques are highly taste specific, it is okay
    to support them both. Making a combined request target sounds like a
    work around, I agree, though it hides the details of rendering more
    than when you directly use the outputstream and components. Also, you
    would probably use some seperation markup as if you render more than
    one component and send that back to the client, you most likely want
    to interpret that client side to see where the different parts should
    go. A request target could encapsulate generating such seperation
    markup.

    Eelco


    On 1/14/06, Igor Vaynberg <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    > i dont like using a target to render components. it feels more
    of a work
    > around. i would like my handler code to look like this:
    >
    > onAjaxCallback() {
    >   Component a=page.get("...");
    >   Component b=page.get ("....");
    >
    >   OutputStream stringStream=....
    >   a.onBeginRequest();
    >   a.render(stringStream);
    >   a.onEndRequest();
    >
    >   b.onBeginRequest();
    >   b.render(stringStream);
    >   b.onEndRequest();
    >
    >   return stringStream;
    >
    > }
    >
    > maybe have a convinience function to called render(Component,
    OutputStream )
    > in the ajax handler that would call onbegin/endrequest.
    >
    > but i am in total control of what components i wish to render
    and where
    > their output is going. i dont need any, imho goofy, response
    swapping, etc.
    >
    > and another thing. what we need is a way to render only the body
    of the
    > component easily because most of the time in an ajax response
    you only want
    > to swap out the body not the tag.
    > right now you have to call setrenderbodyonly and then restore
    its state,
    > which is again goofy.
    >
    >
    > in my sandbox i have render(OutputStream)
    renderBody(OutputStream) and i
    > think it works great, as far as 1.2 im not sure what the best
    way is.
    >
    > -Igor
    >
    >
    >
    >
    > On 1/14/06, Eelco Hillenius <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    > >
    > > We could make a special target for that I guess. Not sure
    whether that
    > > is more elegant though... What do you think?
    > >
    > > Eelco
    > >
    > >
    > > On 1/14/06, Igor Vaynberg <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> > wrote:
    > > > what if you want to render more then one component in a
    single ajax
    > request?
    > > > can you do that via setting the request target?
    > > >
    > > > -Igor
    > > >
    > > >
    > > >
    > > > On 1/14/06, Eelco Hillenius < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    > > > >
    > > > > Martijn told me a couple of days ago that instead of directly
    > > > > requesting a component to render itselve, he just set the
    proper
    > > > > request target (I think that is ComponentRequestTarget)
    instead. I
    > > > > think that's much more elegant.
    > > > >
    > > > > Eelco
    > > > >
    > > > >
    > > > > On 1/14/06, Jonathan Locke < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    > > > > >
    > > > > > but all these ajax components are using doRender()...
    > > > > > and it's confusing how doRender() differs from render().
    > > > > > you can't tell just from the name.  can we somehow
    > > > > > collapse the two logically?
    > > > > >
    > > > >
    > > > >
    > > > >
    > -------------------------------------------------------
    > > > > This SF.net email is sponsored by: Splunk Inc. Do you grep
    through log
    > > > files
    > > > > for problems?  Stop!  Download the new AJAX search engine
    that makes
    > > > > searching your log files as easy as surfing
    the  web.  DOWNLOAD
    > SPLUNK!
    > > > > http://ads.osdn.com/?ad_idv37&alloc_id865&opclick
    <http://ads.osdn.com/?ad_idv37&alloc_id%16865&opclick>
    > > > > _______________________________________________
    > > > > Wicket-develop mailing list
    > > > > [email protected]
    <mailto:[email protected]>
    > > > >
    > > >
    > https://lists.sourceforge.net/lists/listinfo/wicket-develop
    > > > >
    > > >
    > > >
    > >
    > >
    > > -------------------------------------------------------
    > > This SF.net email is sponsored by: Splunk Inc. Do you grep
    through log
    > files
    > > for problems?  Stop!  Download the new AJAX search engine that
    makes
    > > searching your log files as easy as surfing
    the  web.  DOWNLOAD SPLUNK!
    > > http://ads.osdn.com/?ad_idv37&alloc_id865&opclick
    <http://ads.osdn.com/?ad_idv37&alloc_id%16865&opclick>
    > > _______________________________________________
    > > Wicket-develop mailing list
    > > [email protected]
    <mailto:[email protected]>
    > >
    > https://lists.sourceforge.net/lists/listinfo/wicket-develop
    <https://lists.sourceforge.net/lists/listinfo/wicket-develop>
    > >
    >
    >


    -------------------------------------------------------
    This SF.net email is sponsored by: Splunk Inc. Do you grep through
    log files
    for problems?  Stop!  Download the new AJAX search engine that makes
    searching your log files as easy as surfing the  web.  DOWNLOAD
    SPLUNK!
    http://ads.osdn.com/?ad_idv37&alloc_id865&opclick
    <http://ads.osdn.com/?ad_idv37&alloc_id%16865&opclick>
    _______________________________________________
    Wicket-develop mailing list
    [email protected]
    <mailto:[email protected]>
    https://lists.sourceforge.net/lists/listinfo/wicket-develop
    <https://lists.sourceforge.net/lists/listinfo/wicket-develop>




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to