Using urlFor(...) generates a stateful, session-relative link - unless you
call urlFor(Class, PageParameters) - which is stateless because it encodes
the class and parameters in the URL.  In the other URLs, the state is stored
in the session, and the URL is basically a map to navigate the component
tree to get back to the component that generated the URL.

--
Jeremy Thomerson
http://www.wickettraining.com



On Sat, Apr 18, 2009 at 4:27 PM, Martin Grotzke <
[email protected]> wrote:

> What exactly causes the page to be stateful when urlFor(Component,
> Interface) is invoked?
>
> I would like to make only minimal changes compared to original wicket
> ajax handling and would really like to reuse as much as possible of
> wicket ajax handling (e.g. adding components to be updated to the
> AjaxRequestTarget).
>
> Do you think it would be possible to create a Behavior that uses a
> callback url which links to a (stateless) page with page parameters.
> This page provides a constructor taking parameters and sets an
> AjaxRequestTarget on the RequestCycle. It creates and adds all
> components which shall be changed to the target.
>
> What do you think? Can you imagine other ways of being as close as
> possible to wicket?
>
> Thanx && cheers,
> Martin
>
>
>
> On Fri, 2009-04-17 at 15:40 -0700, Igor Vaynberg wrote:
> > sure, you can use behaviors and requesttargets of whatever kind. just
> > make sure nothing on your page calls urlfor(component, interface) -
> > this is what causes the page to be stateful.
> >
> > -igor
> >
> > On Fri, Apr 17, 2009 at 3:14 PM, Martin Grotzke
> > <[email protected]> wrote:
> > > Wow, very fast response!
> > >
> > > Is it possible to use wicket concepts like RequestTarget and Behavior
> on
> > > the serverside? I'd like to have this integrated with wicket as much as
> > > possible.
> > >
> > > Cheers,
> > > Martin
> > >
> > >
> > > On Fri, 2009-04-17 at 14:55 -0700, Igor Vaynberg wrote:
> > >> you cannot use wicket ajax facilities as they are designed for
> > >> stateful pages - the link that wicket uses for ajax callback is
> > >> inherently stateful.
> > >>
> > >> what you can do is write javascript yourself using jquery, or
> > >> something else to perform an ajax callback to some url you control and
> > >> then replace some markup on your page with returned markup.
> > >>
> > >> -igor
> > >>
> > >> On Fri, Apr 17, 2009 at 2:52 PM, Martin Grotzke
> > >> <[email protected]> wrote:
> > >> > Hello,
> > >> >
> > >> > can somebody help with this?
> > >> >
> > >> > Thanx && cheers,
> > >> > Martin
> > >> >
> > >> >
> > >> > On Mon, 2009-04-13 at 12:16 +0200, [email protected]:
> > >> >> Hi,
> > >> >>
> > >> >> I'm currently evaluating how it's possible to have stateless pages
> with
> > >> >> some information loaded asynchronously via AJAX.
> > >> >>
> > >> >> I found these postings that are somehow related to this
> > >> >> http://www.nabble.com/Stateless-AJAX-links-td20031309.html
> > >> >>
> http://www.nabble.com/Directions-for-Stateless-Ajax-td17518987.html
> > >> >>
> > >> >> but I'm not sure what exactly has to be done to achieve what I
> want.
> > >> >>
> > >> >> Basically I have a simple page where I added an AjaxBehavior to a
> label
> > >> >> that shall get replaced via AJAX:
> > >> >>
> > >> >> final Label label = new Label( "info", "foo" );
> > >> >> add( label.setOutputMarkupId( true ) );
> > >> >> label.add(new AbstractDefaultAjaxBehavior() {
> > >> >>
> > >> >>     @Override
> > >> >>     protected void respond( AjaxRequestTarget target ) {
> > >> >>         final Label lazyLabel = new Label( "info", "loaded
> asynchronously" );
> > >> >>         Index.this.replace( lazyLabel.setOutputMarkupId( true ) );
> > >> >>         target.addComponent( lazyLabel );
> > >> >>     }
> > >> >>
> > >> >>     @Override
> > >> >>     public void renderHead( IHeaderResponse response ) {
> > >> >>         super.renderHead( response );
> > >> >>         response.renderOnDomReadyJavascript(
> getCallbackScript().toString() );
> > >> >>     }
> > >> >>
> > >> >> } );
> > >> >>
> > >> >> This turns the previously statelesss page to stateful, AFAICS
> because of
> > >> >>   getStatelessHint( Component component )
> > >> >> returning false for the label.
> > >> >>
> > >> >> When I change this to return true, wicket says the page is expired
> on the AJAX request...
> > >> >>
> > >> >> Can anybody say what had to be done?
> > >> >>
> > >> >> Btw: I'm using wicket-1.4-SNAPSHOT.
> > >> >>
> > >> >> Thanx in advance,
> > >> >> cheers,
> > >> >> Martin
> > >> >>
> > >> >>
> > >> >>
> ---------------------------------------------------------------------
> > >> >> To unsubscribe, e-mail: [email protected]
> > >> >> For additional commands, e-mail: [email protected]
> > >> >>
> > >> >
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [email protected]
> > >> For additional commands, e-mail: [email protected]
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>

Reply via email to