Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-84581

WeldELResolver is not added to the list of ELResolvers in the JspApplicationContext

    Details

      Description

      Problem Background

      When embedded inside a portlet WAR as WEB-INF/lib/weld-servlet.jar, the WeldServletLifecycle class attempts to add an instance of WeldELResolver to the JspApplicationContext.

      However, when a JSP EL Expression contains an EL keyword that should resolve to an artifact instantiated by CDI, the WeldELResolver is not present in the JspApplicationContext as the ELResolver chain is being constructed.

      Steps to Reproduce

      1. Clone the liferay fork of the Apache Pluto git repository:

      git clone https://github.com/liferay/portals-pluto.git
      

      2. Checkout the "tck3" branch:

      git checkout tck3
      

      3. Build the Apache Pluto project for use with Liferay Portal:

      cd portals-pluto
      mvn -P all,liferay clean install
      

      4. Deploy the PortletV3Demo.war artifact to Liferay Portal

      cp PortletV3Demo/target/*.war $LIFERAY_HOME/deploy
      

      5. Add the "TagLibPortlet" to a portal page

      6. Reload the page in the browser

      7. Click on the "Header" radio button

      8. Click on the "Test named beans" radio button

      9. Click on the "Execute" button

      Expected Result

      The result should be the same as when the TagLibPortlet is deployed to Apache Pluto – specifically, the following table of results:

      # Page Object Is present
      1 renderRequest undefined
      2 resourceRequest undefined
      3 actionRequest undefined
      4 eventRequest undefined
      5 renderResponse undefined
      6 resourceResponse undefined
      7 actionResponse undefined
      8 eventResponse undefined
      9 portletConfig true
      10 portletSession true
      11 portletSessionScope false
      12 portletPreferences true
      13 portletPreferencesValues false
      14 portletRequest true
      15 portletResponse true
      16 headerRequest true
      17 headerResponse true
      18 clientDataRequest undefined
      19 mimeResponse true
      20 stateAwareResponse undefined
      21 renderParams true
      22 mutableRenderParams undefined
      23 resourceParams undefined
      24 actionParams undefined
      25 portletContext true
      26 portletMode true
      27 windowState true
      28 cookies true
      29 locale false
      30 locales true
      31 namespace true
      32 contextPath true
      33 windowId true
      34 portletName true

      Actual Result

      The table appears but has the value of false for all rows.

        Attachments

          Activity

            People

            • Assignee:
              raymond.auge Raymond Auge
              Reporter:
              neil.griffin Neil Griffin
              Participants of an Issue:
              Recent user:
              Neil Griffin
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Days since last comment:
                47 weeks, 6 days ago

                Packages

                Version Package