Wicket
  1. Wicket
  2. WICKET-5309

No page id appended to some stateful pages using repeaters

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.9.1
    • Fix Version/s: 6.10.0, 7.0.0-M1
    • Component/s: None
    • Labels:

      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.

      1. WICKET-5309.zip
        27 kB
        Bertrand Guay-Paquet

        Issue Links

          Activity

            People

            • Assignee:
              Sven Meier
              Reporter:
              Bertrand Guay-Paquet
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development