[
https://issues.apache.org/jira/browse/MYFACES-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mathieu Vézeau updated MYFACES-1877:
------------------------------------
Status: Patch Available (was: Open)
> DefaultViewHandlerSupport does not use the servlet path and path info request
> attributes when processing a Servlet/JSP include
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: MYFACES-1877
> URL: https://issues.apache.org/jira/browse/MYFACES-1877
> Project: MyFaces Core
> Issue Type: Bug
> Components: General
> Affects Versions: 1.2.3
> Reporter: Mathieu Vézeau
> Attachments: patch.txt
>
>
> When MyFaces is processing a Servlet/JSP include, the method
> DefaultViewHandlerSupport.getFacesServletMapping() does not take into account
> the servlet path and path info that are passed as request attributes (namely,
> javax.servlet.include.servlet_path and javax.servlet.include.path_info).
> Instead, the method takes the values directly from
> externalContext.getRequestServletPath() and
> externalContext.getRequestPathInfo(), ignoring the request attributes that
> could overwrite them. However, these attributes are taken into account when
> the original view id is calculated (see
> DefaultRestoreViewSupport.calculateViewId()), so there seems to be a mismatch
> between these two behaviors.
> As a result, in situations where the servlet path or path info passed as
> request attributes are different from their original values in the request,
> MyFaces may not be able to find the appropriate mapping and may also skip the
> suffix substitution even when it should occur (see
> DefaultViewHandlerSupport.calculateViewId()). But since the original view id
> was calculated correctly as explained above, using the attribute overwrites,
> but the suffix .jsf is not changed to .jsp as it should, it results in an
> infinite loop as MyFaces keeps calling itself instead of calling the JSP
> processor.
> The solution is to modify DefaultViewHandlerSupport.getFacesServletMapping()
> to take into account the servlet path / path info request attributes just
> like DefaultRestoreViewSupport.calculateViewId() does.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.