0

我在 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 世界中的工作方式不同。

我错过了什么?

谢谢,肖恩

4

1 回答 1

0

代码对我来说看起来是正确的,应该可以正常工作。如果您的链接列表确实包含任何对象,您是否尝试过?尝试访问它

<h1>Size is <%= links.size()%></h1>

HTH,(三)

于 2013-03-24T20:30:08.653 回答