Uploaded image for project: 'PUBLIC - Liferay Faces'
  1. PUBLIC - Liferay Faces
  2. FACES-2579

The bridge implementation incorrectly attempts to remove the "javax.servlet.include.path_info" and "javax.servlet.include.servlet_path" request attributes

Details

    Description

      In BridgePhaseBaseImpl.java the bridge implementation attempts to workaround a request dispatcher implementation detail of Liferay Portal by removing the "javax.servlet.include.path_info" and "javax.servlet.include.servlet_path" request attributes. In addition, RequestScopeMap.java has some Liferay-specific version checks for Liferay Portal related to the "javax.servlet.include.path_info" and "javax.servlet.include.servlet_path" request attributes.

      Removing the request attributes is an inappropriate action. Instead, the liferay-faces-bridge-ext.jar module should introduce a custom implementation of ContextMapFactory (see FACES-2583) that handles these Liferay-specific cases.

      Steps to Reproduce:

      1. Deploy the primefaces5-users-portlet to Liferay 7
      2. Attempt to view the "PrimeFaces5 Users" portlet in the Control Panel

      If the bug is fixed, then the portlet will render a list of users.

      Otherwise, if the bug still exists, the following stacktrace will appear in the server log:

      Caused by: javax.servlet.ServletException: File "/application_content/page.jsp" not found
      	at org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:417)
      	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:384)
      	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:115)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
      	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
      	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
      	at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:282)
      	... 235 more
      

      Attachments

        Issue Links

          Activity

            People

              neil.griffin Neil Griffin
              ravi.koradiya Koradiya Ravi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Packages

                  Version Package
                  bridge-impl-2.0.0
                  bridge-impl-3.0.0
                  bridge-ext-1.0.0
                  bridge-ext-2.0.0
                  bridge-ext-3.0.0
                  bridge-ext-5.0.0
                  bridge-impl-4.0.0
                  bridge-impl-5.0.0