Hi Josh,
What prevents you from using <@ page include /> ? This should work very
well.
Please note that any script is run with a "current resource" in mind.
This "current resource" is available through the
SlingHttpServletRequest.getResource() method. Now, if you include a
script with
<sling:include resource="<%= currentResource %>"
resourceType="something/else" />
The script for something/else will be run with the "currentResource" as
its current resource, no matter where the script lies.
Regards
Felix
Joshua Oransky schrieb:
> This is an issue because I have several functions that I need to use all
> over, and the current resource include is insufficient. Right now, as I
> see it, I need to create redundant code in every script where I want to
> be able to use my functions... instead of just being able to include a
> script that has them all...
>
> Or am I mistaken? How can I create reusable code snippets?
>
> Thanks, Josh
>
> On Sep 17, 2008, at 12:59 PM, Tobias Bocanegra wrote:
>
>> hi josh,
>> one solution is to use another selector or resource type for your
>> included script.
>>
>> eg:
>> /page
>> page.jsp
>> content.jsp
>>
>> and in page.jsp you do:
>> <sling:include forceSelector="content" />
>> this will select the content.jsp as script when including 'this'
>> resource. the draw back of this is, that you 'destroy' any selectors
>> from the request, i.e. you can't propagate them into your content.jsp
>> without some manual magic.
>>
>> another solution is using another resource type. eg:
>>
>> /page
>> page.jsp
>> /content
>> content.jsp
>>
>> and in page.jsp you do:
>>
>> <sling:include resourceType="page/content" />
>>
>> you could even make this work 'relative' eg:
>>
>> String rt = resource.getResourceType() + "/content";
>> <sling:include resourceType="<%= rt =>" />
>>
>> regards, toby
>>
>> ps: i wrote an extended include tag that allows direct execution of
>> other scripts without having an extra 'include'. this is somewhat
>> contradictory to the sling philosophy that tries to hide the
>> script-resolution-magic from the user by the paradigm that only
>> 'resources' are included. imo, in some cases, you really know what you
>> do, and you want to execute/include a designated script.
>>
>>
>>
>> On 9/17/08, Joshua Oransky <[EMAIL PROTECTED]> wrote:
>>> Hello,
>>>
>>> How can I statically include code from another script? That is,
>>> include it into execution in the context of the currentNode.
>>> Sling.include
>>> does not work for me, because it executes in the context of the included
>>> node. I have several instances where I need to reuse code in different
>>> visual layouts. It seems inefficient to write the same code over and
>>> over,
>>> and is a maintenance nightmare. I know there's the
>>> sling:superResourceType,
>>> but that doesn't really solve my issue, as I want to have reusable
>>> snippets.
>>>
>>> Thanks - Josh
>>>
>
>