Lot*_*tes 7 java iteration jsp jstl jsp-tags
我需要将哪些方法添加到自定义Java类中,以便我可以遍历其中一个成员中的项目?我找不到关于JSTL forEach标签实际如何工作的任何规范,所以我不确定如何实现它.
例如,如果我创建了一个通用的"ProjectSet"类,我想在JSP视图中使用以下标记:
<c:forEach items="${projectset}" var="project">
...
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
基本类文件:
public class ProjectSet {
private ArrayList<Project> projects;
public ProjectSet() {
this.projects = new ArrayList<Project>();
}
// .. iteration methods ??
}
Run Code Online (Sandbox Code Playgroud)
是否有任何接口我必须像PHP一样实现ArrayAccess或Iterator为了使其工作?
编辑:没有直接访问ArrayList本身,因为我可能会使用泛型使用某种类,而JSP视图不应该知道类的内部工作.
Iterable 接口提供了此功能:
public class ProjectSet implements Iterable<Project> {
private ArrayList<Project> projects;
public ProjectSet() {
this.projects = new ArrayList<Project>();
}
// .. iteration methods ??
@Override
public Iterator<Project> iterator() {
return projects.iterator();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要交换迭代器逻辑。
| 归档时间: |
|
| 查看次数: |
6238 次 |
| 最近记录: |