Ok, thanks. I set
this.getPageSettings().setRecreateMountedPagesAfterExpiry(false); in the
app class.
But, to my previous point:

The page is mounted and reached with all the necessary data (to get the
entity).
But on AjaxEditableLabel interaction, the page is created with empty
PageParameters.

   Last cause: No entity found for query 

   WicketMessage: Can't instantiate page using constructor 'public 
org.jboss.essc.web.pages.ReleasePage(org.apache.wicket.request.mapper.parameter.PageParameters)'
 
   and argument ''. Might be it doesn't exist, may be it is not visible 
(public).


Is there a mechanism to let the page be re-created with the original
PageParameters?
Maybe they could be kept within JS of the page and sent with the AJAX
request?  That would probably need a change in Wicket's AJAX code.
(Wicket 1.5)

And also, this brings me to other question - how can I control session
programatically? I have seen some pages, old ones, and mostly they do a
timer-based ajax request on a page to keep the session alive.
Is that a best practice?  (Assuming I want to keep the session short for
other pages).

Thanks,
Ondra






On Mon, 2012-09-17 at 10:50 +0300, Martin Grigorov wrote:

> Hi,
> 
> Usage of Wicket's Ajax behaviors make the page stateful, so there is
> no easy way to make it stateless.
> The easiest solution is to use
> org.apache.wicket.settings.IPageSettings#setRecreateMountedPagesAfterExpiry(false).
> This way you'll see the configured
> org.apache.wicket.settings.IApplicationSettings#getPageExpiredErrorPage()
> instead of a new instance of your page.
> 
> On Mon, Sep 17, 2012 at 5:23 AM, Ondrej Zizka <ozi...@redhat.com> wrote:
> > Hi,
> >
> > I use a AjaxEditableLabel with a PropertyModel which points to an object
> > of the Page.
> > But after the session expires, clicking on the label to edit it causes
> > exception because the object of the page is empty (in my case, it
> > results into HBN's NoResultException).
> >
> > What's the way to handle this?
> >
> > The page is mounted as /product/${name}/${version}, so the URL contains
> > the information necessary to reload the entire page. So perhaps I could
> > use some LoadableDetachableModel somehow?
> > I've read about making the page stateless. Would that help?
> >
> > Thanks,
> > Ondra
> 
> 
> 


Reply via email to