[
https://issues.apache.org/jira/browse/WICKET-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14090733#comment-14090733
]
Guillaume Smet commented on WICKET-5539:
----------------------------------------
Some further thoughts.
Could we keep the pageParameters as is in the processListener method (we don't
set it to null) and change getPageParameters() to something like:
{code:java}
@Override
public PageParameters getPageParameters()
{
if (isNewPageInstance() == false)
{
return pageInstance.getPageParameters();
}
else
{
return pageParameters;
}
}
{code}
This way, the page instance page parameters have precedence.
Maybe we should rename the pageParameters attribute with something like
currentRequestPageParameters or candidatePageParameters? I think the current
name is misleading as the getter is more clever than we expect it to be and it
doesn't always return pageParameters.
> Incorrect recreation of page in case of PageExpire
> --------------------------------------------------
>
> Key: WICKET-5539
> URL: https://issues.apache.org/jira/browse/WICKET-5539
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.14.0
> Reporter: Ilia Naryzhny
> Assignee: Martin Grigorov
> Labels: expiration, mountBookmarkablePage
> Fix For: 6.17.0
>
> Attachments: wicket5539.zip
>
>
> There is a bookmarkable page mounted, for example, to:
> /page/${entityId}
> This page contains StatelessForm.
> Submitting of form after session expire lead to following:
> org.apache.wicket.core.request.mapper.MountedMapper invokes
> AbstractBookmarkableMapper.processListener to obtain IRequestHandler to
> handle submitting of form.
> But there is cleaning of PageParameters within processListener on line 256
> (Wicket 6.14) which cleaning "entityId" parameter as well and created page
> finally has no "enityId" and (in our case) redirects to 404.
> I see that this cleaning of page parameters was implemented due to
> Wicket-4594. But I think, just checking for pageId is unsufficient, because
> pageId might be not null, but actual page may be already expired and new
> instance should be created.
--
This message was sent by Atlassian JIRA
(v6.2#6252)