[ 
https://issues.apache.org/jira/browse/SLING-5812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15352583#comment-15352583
 ] 

Vlad Bailescu commented on SLING-5812:
--------------------------------------

Hi [~jshurmer]! When including a resource or a script we cannot be sure who is 
rendering it (could be a servlet, JSP or Sightly script, or any other scripting 
engine), so I don't think we have a local scope that is common among these. The 
include goes through the {{SlingRequestDispatcher}} and uses the same pattern 
of setting request attributes 
(https://github.com/apache/sling/blob/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestDispatcher.java#L84).
 This ensures the rendering code can access the variables, regardless of where 
the code comes from.

To cut back on side-effects the request attributes are being reset/unset after 
the include.



> Add option to include attributes in request scope for Sightly 
> data-sly-resource and data-sly-include
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SLING-5812
>                 URL: https://issues.apache.org/jira/browse/SLING-5812
>             Project: Sling
>          Issue Type: Improvement
>          Components: Scripting
>    Affects Versions: Scripting Sightly Engine 1.0.18
>            Reporter: Vlad Bailescu
>            Priority: Minor
>             Fix For: Scripting Sightly Engine 1.0.20
>
>
> A common pattern for sending information between scripts/components is 
> setting specific attributes in request scope before including another 
> resource or script. At the moment this cannot be done nicely in Sightly.
> It would be very helpful to set request attributes as in following examples:
> {code}<sly data-sly-include="${'script.html' @ 
> requestAttributes=helper.attributesMap}"/>{code}
> or:
> {code}<sly data-sly-resource="${'some/path' @ resourceType='some/type', 
> requestAttributes=helper.attributesMap}"/>{code}
> where {{attributesMap}} is a {{Map<String, Object>}}
> The attributes would be set before the actual script/resource inclusion and 
> reset/unset back afterwards.



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

Reply via email to