Bertrand Guay-Paquet created WICKET-5309:
--------------------------------------------

             Summary: No page id appended to some stateful pages using repeaters
                 Key: WICKET-5309
                 URL: https://issues.apache.org/jira/browse/WICKET-5309
             Project: Wicket
          Issue Type: Bug
    Affects Versions: 6.9.1
            Reporter: Bertrand Guay-Paquet


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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to