[
https://issues.apache.org/jira/browse/SLING-2455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13399355#comment-13399355
]
James Phillpotts commented on SLING-2455:
-----------------------------------------
This could be fixed by implementing an ELResolver that did something along the
lines of the following for getValue:
if (base instanceof Node) {
Node n = (Node)base;
if (n.hasProperty(property.toString())) {
context.setPropertyResolved(true);
return n.getProperty(property.toString());
}
return null;
You'd then need appropriate implementations for getType, setValue and
isReadOnly.
> JSTL EL does not work in all cases
> ----------------------------------
>
> Key: SLING-2455
> URL: https://issues.apache.org/jira/browse/SLING-2455
> Project: Sling
> Issue Type: Bug
> Components: Scripting
> Environment: Mac OSX
> Reporter: Sandro Boehme
> Priority: Minor
>
> At the latest trunk (rev.1309704) a jstl expression within a <c:forEach> tag
> throws the jsp compile error
> "org.apache.sling.scripting.jsp.jasper.el.JspValueExpression cannot be
> resolved to a type"
> Example jsp:
> <%@ page session="false"%>
> <%@ page isELIgnored="false"%>
> <%@ page import="javax.jcr.*,org.apache.sling.api.resource.Resource"%>
> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
> <%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
> <sling:defineObjects />
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
> </head>
> <body>
> <%--
> The following two tags dont work.
> --%>
> <c:forEach var="property" items="${currentNode.properties}">
> ${property.name}
> </c:forEach>
> <c:set var="nodePath" scope="request" value="${currentNode.path}"/>
> <%--
> The following two tags do work.
> --%>
> <c:forEach var="property" items="<%=currentNode.getProperties()%>">
> ${property.name}<br/>
> </c:forEach>
>
> <c:if test="${currentNode.path=='/content/mynode'}">
> <br/>in if statement
> </c:if>
> </body>
> </html>
> I know you know how to do that but just to make it easier for you, here are
> the commands:
> curl -u admin:admin -F"sling:resourceType=el" -F"prop1=val1" -F"prop2=val2"
> http://localhost:8080/content/mynode
> curl -X MKCOL -u admin:admin http://localhost:8080/apps/el
> curl -u admin:admin -T el.jsp http://localhost:8080/apps/el/html.jsp
> URL to test: http://localhost:8080/content/mynode.html
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira