Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1234

Store the name of the active page into RequestGlobals inside PageRenderRequestFilter and ComponentEventRequestHandler

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 5.2.0
    • None
    • tapestry-core
    • None

    Description

      Currently the name of the active page is stored into RequestGlobals inside a ComponentRequestFilter (InitializeActivePageName). This is fine for most cases.

      If you terminate the Dispatcher chain before ComponentEventDispatcher and send a response using PageRenderRequestHandler service , then ComponentRequestHandler pipeline is never called. In this case the name of theactive page is never stored into requestGlobals. This can result in weird exceptions if the target page contains a Form. During beginRender phase Form tries to access the active page from ComponentSource service, which throws an exception if the activae page is not set inside RequestGlobals.

      Execption message: The identity of the active page for this request has not yet been established.

      Storing the activa page name into RequestGlobals should be moved from ComponentRequestFilter into PageRenderRequestFilter and ComponentEventRequestHandler.

      Attachments

        Activity

          People

            Unassigned Unassigned
            igor.drobiazko Igor Drobiazko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: