Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
JCR Resource 2.0.6
-
None
-
CQ5.2.1/CQ5.3
Description
Often in the JSPs, we call the ResourceResolver.findResources(query, "xpath") method to return an Iterator<Resource> object, which we iterate through using JSTL and EL syntax. When we attempt to access the getPath() method of each Resource, the following exception is thrown:
java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member of class org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResource with modifiers "public".
This works with CQ5.2.1 with no problem before. The issue happens on CQ5.3 GA release.
Example codes to re-produce the error in CQ5.3.
Iterator<Resource> found = resourceResolver.findResources("//element(*, nt:unstructured)","xpath");
while(found.hasNext()){
try{
Resource foundResource = found.next();
pageContext.setAttribute("foundResource", foundResource);
%>${foundResource.path}<%
}
catch(Exception e)
}