[
https://issues.apache.org/jira/browse/WICKET-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14092684#comment-14092684
]
Martin Grigorov commented on WICKET-5539:
-----------------------------------------
In Wicket 7.x it is possible to re-create the page, pass (all) request
parameters as page parameters, and depending on
org.apache.wicket.Component#canCallListenerInterfaceAfterExpiry() and
org.apache.wicket.settings.PageSettings#getCallListenerInterfaceAfterExpiry()
decide whether to execute the action (onClick, onSubmit, etc.).
The change is:
https://git-wip-us.apache.org/repos/asf?p=wicket.git;a=commit;h=a1f862629c223b675a31c4ba9fb7e07c27279090
> 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)