我正在尝试为此 (forEach) 标记编写一个类。
这是类(class):
public class BookList implements Iterable<Book>
{
public ArrayList<Book> book_list;
public BookList()
{
book_list = new ArrayList<Book>(2);
book_list.add(new Book("BookTitle_01","book_01.html"));
book_list.add(new Book("BookTitle_02","book_02.html"));
}
@Override
public Iterator<Book> iterator() {
return book_list.iterator();
}
}
图书类别:
public class Book {
public String title;
public String url;
public Book(String new_title, String new_url)
{
title = new_title;
url = new_url;
}
}
JSP页面的一部分:
<jsp:useBean id="books" scope="session" class="vanya.BookList" />
<c:if test="${inputedFlag}">
<ul>
<c:forEach var="book" items="${books}">
<li>
<a href="${book.url}">${book.title}</a>
</li>
</c:forEach>
</ul>
</c:if>
但是这不起作用... 我的代码有什么问题吗?
最佳答案
您的 BookList 类需要实现 Collection 才能与 c:forEach 一起使用。
关于java - JSTL:无法实现标签 <c:forEach> 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979164/