Bernard,
There was someone asking something similar a few day ago... One idea
that might work is
-Put an ajax behavior on your page (AbstractDefaultAjaxBehavior) and
use it to generate a callback url.
-Use a non wicket AJAX (e.g. jquery AJAX) to call this behavior.
-Make your panel call back this behavior when it is loaded. E.g make
it implement IHeaderContributor and on
public void renderHead(IHeaderResponse response)
{
response.renderOnDomReadyJavascript("Put your AJAX call here!");
}
I think you can't use wicket AJAX because it will redirect you if you
invalidate the session.
-On the AbstractDefaultAjaxBehavior.respond(AjaxRequestTarget target)
invalidate your session.
Regards.
Ernesto
On Fri, Dec 10, 2010 at 9:47 AM, <[email protected]> wrote:
> Hi,
>
> I need to invalidate the web session after a panel of the current page
> is replaced.
>
> All my attempts are failing because webSession.invalidate() or even
> webSession.replaceSession(); have an influence on the current
> request/response.
>
> Typically, one would just show a new page, e.g.
>
> Session.invalidate();
> setResponsePage(...);
>
> but I don't have this option.
>
> Is there any hook that I can use to expire the session after the work
> on the current page is done? It is quite tricky because the page that
> is loaded back into the browser with redirect after post needs the
> session to replace the panel.
>
> I have tried this but it doesn't work:
>
> replacedPanel.getPage().add(new AbstractBehavior(){
> private boolean lastTime = false;
> �...@override
> public void detach(Component component) {
> super.detach(component);
> if(lastTime){
> AuthenticatedWebSession webSession =
> (AuthenticatedWebSession)Session.get();
> webSession.replaceSession();
> }else{
> lastTime = true;
> }
> }
> });
> replacedPanel.replaceWith(newPanel);
>
> Many thanks,
>
> Bernard
>
>
> ---------------------------------------------------------------------
> 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]