You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Neil Griffin (Jira)" <ji...@apache.org> on 2021/12/16 03:01:00 UTC

[jira] [Closed] (PLUTO-781) PortletRequestDispatcherImpl forwards to incorrect path

     [ https://issues.apache.org/jira/browse/PLUTO-781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neil Griffin closed PLUTO-781.
------------------------------
    Resolution: Fixed

@[~riverbed2]: Thanks so much for reporting this issue, and for being so patient. I apologize that it has taken so long to incorporate a fix for this issue.

When I changed the one line of code in HttpServletPortletRequestWrapper.java and ran the Portlet 3.0 TCK, it caused the following test failures:
- V2DispatcherTests5_SPEC2_19_IncThenForwardServletResource_invoke7
- V2DispatcherTests6_SPEC2_19_FwdThenForwardServletResource_invoke7

So instead, I decided to make the fix an "opt-in" and implemented it as an init-param, so that it could be enabled on a per-portlet basis:

{code:xml|title=WEB-INF/portlet.xml}
        <init-param>
            <name>org.apache.pluto.enable.nested.resource.forwards</name>
            <value>true</value>
        </init-param>
{code}

For more information, see commit [b06210fa513c25503607204c7df56e728093bf92| https://github.com/apache/portals-pluto/commit/b06210fa513c25503607204c7df56e728093bf92].

> PortletRequestDispatcherImpl forwards to incorrect path
> -------------------------------------------------------
>
>                 Key: PLUTO-781
>                 URL: https://issues.apache.org/jira/browse/PLUTO-781
>             Project: Pluto
>          Issue Type: Bug
>          Components: portlet container
>    Affects Versions: 3.0.1
>         Environment: Pluto Container 3.0.1, Spring 4.0.9.RELEASE, Wildfly 14.0.1
>            Reporter: Steve Potter
>            Assignee: Neil Griffin
>            Priority: Major
>             Fix For: 3.1.2
>
>         Attachments: pluto-debug.txt, test-portlet-mvc.zip, test-portlet.zip
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When a serveResource method forwards to a servlet which then forwards to a jsp, theĀ  HttpServletPortletRequestWrapper provides the path from the first forward rather than the second forward and the jsp is not rendered.
> This is the process used by Spring Portlet MVC to locate JSP 'views' resulting in the failure of all our portlets when trying to serve JSP's in response to resource requests.
> The attached file contains a DEBUG log of the processing flow attempting to serve '/WEB-INF/jsp/resource2.jsp' in response to a resource request.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)