[
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)