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

Neil Griffin updated PLUTO-650:
-------------------------------
    Description: 
The {{<portlet:defineObjects/>}} is a feature that enables the JSP pageContext 
to have attributes like {{portletConfig}}. One benefit of this feature is that 
JSP EL expressions can resolve these objects. For example:
{code:html}
<span>portletConfig=${portletConfig}</span>
{code}
If {{<portlet:defineObjects/>}} is missing from a JSP, then the objects should 
not appear as JSP pageContext attributes, and EL resolution should fail.

The JSR 378 TCK contains a test that expects the lack of 
{{<portlet:defineObjects/>}} to mean that the JSP pageContext attributes will 
not contain values like {{portletConfig}}.

h3. Steps to Reproduce:

- Create a portlet that contains the following JSP content:
{code:html}
<span>portletConfig=${portletConfig}</span>
{code}
- Deploy the portlet
- Add the portlet to a Pluto portal page
- View the Pluto portal page

(/) Expected Result: 
{noformat}
portletConfig=
{noformat}
(x) Actual Result:
{noformat}
portletConfig=DriverPortletConfigImpl@8407
{noformat}

The reason why the value is found, even without the presence of 
{{<portlet:defineObjects/>}} is because the WeldELResolver is present in the 
JSP ELResolver chain and knows how to resolve the value.


  was:
The JSR 378 TCK contains a test that expects the lack of 
{{<portlet:defineObjects/>}} to prevent objects like {{portletConfig}} from 
being resolved by the portlet container's ELResolver.

h3. Steps to Reproduce:

- Create a portlet that contains the following JSP content:
{code:html}
<span>portletConfig=${portletConfig}</span>
{code}
- Deploy the portlet
- Add the portlet to a Pluto portal page
- View the Pluto portal page

(/) Expected Result: 
{noformat}
portletConfig=
{noformat}
(x) Actual Result:
{noformat}
portletConfig=DriverPortletConfigImpl@8407
{noformat}

The reason why the value is found, even without the presence of 
{{<portlet:defineObjects/>}} is because the WeldELResolver is present in the 
JSP ELResolver chain and knows how to resolve the value.



> Objects such as portletConfig are available during JSP EL resolution even 
> when portlet:defineObjects is not present
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: PLUTO-650
>                 URL: https://issues.apache.org/jira/browse/PLUTO-650
>             Project: Pluto
>          Issue Type: Bug
>          Components: portlet container
>    Affects Versions: 3.0.0
>            Reporter: Neil Griffin
>
> The {{<portlet:defineObjects/>}} is a feature that enables the JSP 
> pageContext to have attributes like {{portletConfig}}. One benefit of this 
> feature is that JSP EL expressions can resolve these objects. For example:
> {code:html}
> <span>portletConfig=${portletConfig}</span>
> {code}
> If {{<portlet:defineObjects/>}} is missing from a JSP, then the objects 
> should not appear as JSP pageContext attributes, and EL resolution should 
> fail.
> The JSR 378 TCK contains a test that expects the lack of 
> {{<portlet:defineObjects/>}} to mean that the JSP pageContext attributes will 
> not contain values like {{portletConfig}}.
> h3. Steps to Reproduce:
> - Create a portlet that contains the following JSP content:
> {code:html}
> <span>portletConfig=${portletConfig}</span>
> {code}
> - Deploy the portlet
> - Add the portlet to a Pluto portal page
> - View the Pluto portal page
> (/) Expected Result: 
> {noformat}
> portletConfig=
> {noformat}
> (x) Actual Result:
> {noformat}
> portletConfig=DriverPortletConfigImpl@8407
> {noformat}
> The reason why the value is found, even without the presence of 
> {{<portlet:defineObjects/>}} is because the WeldELResolver is present in the 
> JSP ELResolver chain and knows how to resolve the value.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to