Affects Version/s: Master
Component/s: Core Infrastructure > Servlet JSTL
At present (46ccfa1f25), when dispatching to a JSP with a combination of ErrorTag and ButtonTag, a NPE in InvokerFilter when processing the former will affect the processing of the latter.
Specially the former's servlet path will be associated with the processing Servlet of the latter when it gets added to the DirectServletRegistry.
The result is ErrorTag attempts to render as a ButtonTag.
Steps to reproduce:
- Deploy the attached example module
- Log in as admin and clear the "Direct Servlet Cache"
- Immediately after request the following URL http://localhost:8080/web/guest/home?p_p_id=directrequestdispatcherissue&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&_directrequestdispatcherissue_mvcRenderCommandName=%2Ftest%2Frequestdispatcher_test
Expected result: The portlet renders in POP_UP windowstate and shows a ErrorTag message between the two "#" characters.
Actual result: No error is shown as described. Subsequent requests to the URL will also fail identically, because the wrong servlet mapping is sticky