I'm using this simple tag
<c:set var="content" value="${sling:getResource(resourceResolver,/content/dam/imf/public/sampleicons)}" />
Getting an error
The function getResource cannot be located with the specified prefix
Complete jsp:
<%--
Directory Browser component.
Lists all resources in the directory
--%><%
%><%@include file="/libs/foundation/global.jsp"%>
<%
%><%@page session="false" %><%
%><%
// TODO add you code here
%>
<sling:defineObjects/>
<%
String url ="/content/dam/imf/public/sampleicons";
%>
This component lists all in the directory
<c:set var="content" value="${sling:getResource(resourceResolver,url)}" />
Reference used:
https://sling.apache.org/documentation/bundles/sling-scripting-jsp-taglib.html
Solved! Go to Solution.
Views
Replies
Total Likes
You can check the version of taglib in the following bundle jar - org.apache.sling.scripting.jsp.taglib. In AEM 6.1, three versions of taglib are included - 1.0,1.1,1.2 and 1.4 with URI - http://sling.apache.org/taglibs/sling. The TLD files are in META-INF folder in the jar file.
I have tested the following code in 6.1 and it works fine-
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %> <%@taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %> <cq:defineObjects /> <c:set var="content" value="${sling:getResource(resourceResolver,'/content')}" />
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
why dont you try with this
<sling:defineObjects> has directly the sling tag libraries to use like below
<sling:getResource var="content" path="<url>" />
Views
Replies
Total Likes
Getting the same
Error during include of component '/apps/imftgsik/components/directorybrowser'Error Message:org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: /apps/imftgsik/components/directorybrowser/directorybrowser.jsp(20,0) No tag "getResource" defined in tag library imported with prefix "sling" |
Views
Replies
Total Likes
Global.jsp has this defined
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
We are using 5.6.1
Views
Replies
Total Likes
Relevant thread
http://stackoverflow.com/questions/23338390/jsp-does-not-compile-in-cq5
Really? delete launchpad folder?
Views
Replies
Total Likes
I have not seen an issue with JSP - Standard Tag Libraries and AEM. For example - see this AEM Community article:
Views
Replies
Total Likes
As per the documentation, the getResource method is available since taglib version 1.3. The taglib URI imported in global.jsp is 1.0 and thats why the method is not working for you.
To solve this problem, do the following-
http://sling.apache.org/taglibs/sling
to ensure ease of upgrading to newer versions of the Taglib.)Views
Replies
Total Likes
Kunal
That could be it! Quick question, in 6.1, what version is included by default?
Views
Replies
Total Likes
Kunal,
I think I had tried that, but getting this error:
xception: /apps/imftgsik/components/directorybrowser/directorybrowser.jsp(1,1) The absolute uri: http://sling.apache.org/taglibs/sling/1.3 cannot be resolved in either web.xml or the jar files deployed with this application
Do we need to update one of the core jar files?
Views
Replies
Total Likes
You can check the version of taglib in the following bundle jar - org.apache.sling.scripting.jsp.taglib. In AEM 6.1, three versions of taglib are included - 1.0,1.1,1.2 and 1.4 with URI - http://sling.apache.org/taglibs/sling. The TLD files are in META-INF folder in the jar file.
I have tested the following code in 6.1 and it works fine-
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %> <%@taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %> <cq:defineObjects /> <c:set var="content" value="${sling:getResource(resourceResolver,'/content')}" />
Views
Replies
Total Likes
Exceptional Kunal
Thanks many
Views
Replies
Total Likes