我在 Apache Sling 中创建了一个 JSP,我在其中使用 scriplet 来检索对象列表,然后我想使用 JSTL 对其进行迭代。但是,使用下面的代码,我在 JSTL 中看不到任何结果。我可以使用 JSTL (
重要的部分:
<%
AppLinkService appLinkSvc = new AppLinkService();
String userId = "sean"; //TODO get from request
List<AppLink> links = appLinkSvc.getAppLinksFromWebService(userId);
pageContext.setAttribute("appLinkList", links);
%>
<br/>
<br/>
<c:if test="${empty appLinkList}">
<h1>You do not have any apps.</h1>
</c:if>
<c:if test="${not empty appLinkList}">
<c:forEach items="${appLinkList}" var="link">
<h3>
<a href='<c:out value="${link.linkUrl}"/>'>
<c:out value="${link.appName}" />
</a>
</h3>
</c:forEach>
</c:if>
我知道我所有的导入都是正确的(我解决了所有这些错误),但现在我无法访问这些对象。我在一个简单的 Tomcat Web 应用程序中也有同样的代码(带有导入等),但我知道 Apache Sling 的情况有所不同。似乎 pageContext 在 Sling 世界中的工作方式不同。
我错过了什么?
谢谢,肖恩