Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
5.2.0
-
None
-
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.