Hi guys,
since wicket 1.5 we can use "recreate page if page has expired" option in
the page settings in order to avoid page expirations. I tried that, but it
doesn't restore PageParameters, so it is useless for us...
So I wrote my own PageInstanceMapper with overrided mapRequest method:
public IRequestHandler mapRequest(Request request) {
Url url = request.getUrl();
IRequestHandler resultRequestHandler = null;
if (matches(url))
{
PageComponentInfo info = getPageComponentInfo(url);
if (info != null && info.getPageInfo().getPageId() != null)
{
Integer renderCount = info.getComponentInfo() != null ?
info.getComponentInfo()
.getRenderCount() : null;
if (info.getComponentInfo() == null)
{
PageProvider provider = new
PageProvider(info.getPageInfo().getPageId(),
renderCount);
provider.setPageSource(getContext());
// render page
resultRequestHandler = new
RenderPageRequestHandler(provider);
}
else
{
ComponentInfo componentInfo = info.getComponentInfo();
PageAndComponentProvider provider = new
PageAndComponentProvider(
info.getPageInfo().getPageId(), renderCount,
componentInfo.getComponentPath());
// my method to test whether page is in the storage....
if (!isPageResolvable(info.getPageInfo().getPageId(),
provider)) {
provider = new PageAndComponentProvider(<pageClass
to restore>,
<page params to restore>,
componentInfo.getComponentPath());
}
provider.setPageSource(getContext());
// listener interface
RequestListenerInterface listenerInterface =
requestListenerInterfaceFromString(componentInfo.getListenerInterface());
resultRequestHandler = new
ListenerInterfaceRequestHandler(provider, listenerInterface,
componentInfo.getBehaviorId());
}
}
}
return resultRequestHandler;
}
In this way PageProvider knows exactly howto recreate the page properly,
it's working great.....But if the recreated page contains forms, all entered
data are lost...:-(((
Is there any way of reconstructing the page without loosing the entered form
input?
thanks a lot in advance
T.
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/Page-recreation-if-page-has-expired-problem-tp4662339.html
Sent from the Forum for Wicket Core developers mailing list archive at
Nabble.com.