Description
My test case is a page containing a ListView with a single stateful child. In that case, there is no redirect done to append a pageId to the url because the page's statefulness check is erroneous.
Analysis:
This calls page.isPageStateless() to dertermine whether a pageId should be added
BookmarkableMapper(AbstractBookmarkableMapper).getPageInfo(IPageRequestHandler) line: 440
BookmarkableMapper(AbstractBookmarkableMapper).mapHandler(IRequestHandler) line: 387
SystemMapper(CompoundRequestMapper).mapHandler(IRequestHandler) line: 215
RequestCycle.mapUrlFor(IRequestHandler) line: 429
WebPageRenderer.respond(RequestCycle) line: 268
RenderPageRequestHandler.respond(IRequestCycle) line: 165
RequestCycle$HandlerExecutor.respond(IRequestHandler) line: 861
RequestCycle$HandlerExecutor(RequestHandlerStack).execute(IRequestHandler) line: 64
RequestCycle.execute(IRequestHandler) line: 261
The problem I see is that AbstractRepeater's onPopulate() is called during onBeforeRender() and this is not done when the stateless status of the page is first checked. Therefore, no pageId is added unless other components not located inside repeaters are also stateful.
See thread http://wicket-users.markmail.org/thread/6q2dmns7lqjgkok7
I will add a quickstart.
Attachments
Attachments
Issue Links
- is broken by
-
WICKET-4995 Using CryptoMapper causes page to render twice
- Resolved