【发布时间】:2013-06-23 23:05:47
【问题描述】:
我是 JSTL 的新手,无法准确掌握每个循环的工作原理。但是说在我的 java bean 中,我有一个非常简单的 while 循环,它通过并获取对象的属性。当我记录它时,我从循环中得到了预期的输出。这只是一个类似于 headerTest, headerMetaTest 的字符串。这是我的 java bean 中的代码:
Iterator<Resource> serviceList = null;
serviceList = resource.getChild("header").listChildren();
while(serviceList.hasNext()){
Resource child = serviceList.next();
headerTitle = child.adaptTo(ValueMap.class).get("headerTitle", "");
headerMeta = child.adaptTo(ValueMap.class).get("headerMeta, "");
}
但是,当我尝试在 JSTL 中访问它时,我什么也得不到:
<c:forEach var="child" items="${serviceList}">
<p>${child.headerTitle}</p>
<p>${child.headerMeta}</p>
</c:forEach>
令人费解的部分是我没有收到任何错误,没有任何东西只是返回。有任何想法吗?真的,真的迷失了这个,非常感谢任何帮助。我是这方面的新手,所以代码示例是我学习的好方法,如果可能的话会很棒。
【问题讨论】:
-
您是否将 serviceList 添加到页面上下文中?
-
我将其设置为资源您是指将其设置在 JSTL 的 pageContext 中吗?如果是这样的话,我不完全确定你会怎么做。
-
jsp页面不知道${serviceList}是什么,所以它什么都不输出。