You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2013/01/03 14:26:12 UTC

[jira] [Resolved] (SLING-2648) Add Resource Access Tags

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

Bertrand Delacretaz resolved SLING-2648.
----------------------------------------

    Resolution: Fixed

Committed your latest patch in revision 1428328, many thanks for your contribution!

I have also removed the @author tags in revision 1428330 - we don't use them in Sling, mainly because we don't want people to contact authors directly, the code is the responsibility of the whole project. Credit is given via our commits logs and svn blame info - feel free to discuss on the Sling dev list if you have any questions about this.
                
> Add Resource Access Tags
> ------------------------
>
>                 Key: SLING-2648
>                 URL: https://issues.apache.org/jira/browse/SLING-2648
>             Project: Sling
>          Issue Type: New Feature
>          Components: Scripting
>    Affects Versions: Scripting JSP-Taglib 2.1.8
>            Reporter: Dan Klco
>            Assignee: Bertrand Delacretaz
>              Labels: patch, scripting, taglib
>         Attachments: SLING-2648-Add-Resource-Access-Tags.diff, SLING-2648-Add-Resource-Access-Tags.diff, SLING-2648-Add-Resource-Access-Tags-With-Tests-And-Functions.diff, SLING-2648-Document-Tags.diff
>
>
> It would be really nice to be able to access resources through tags rather than having to use Scriptlet for even basic Resource iteration.  I've created a patch for adding tags to:
>  - Get a Resource
>  - List Child Resources
>  - Adapt adaptables to other classes
>  - Get properties from ValueMaps (with default values)
> With these new tags, you will be able to do things like create an entire navigation without scriptlet:
> <ul>
>     <sling:getResource var="currentResource" path="/libs" />
>     <sling:listChildren var="children" resource="${currentResource}" />
>     <c:forEach var="child" items="${children}">
>         <c:if test="${child.name != 'jcr:content'}">
>             <sling:getResource var="pageContent" path="${child.path}/jcr:content" />
>             <sling:adapt adaptable="${pageContent}"  adaptTo="org.apache.sling.api.resource.ValueMap" var="childProperties" />
>             <sling:getProperty key="jcr:title" defaultValue="${child.name}" var="title" properties="${childProperties}" />
>             <li><a href="${child.path}.html">Title: ${title}</a></li>
>         </c:if>
>     </c:forEach>
> </ul>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira