java - JSTL:无法实现标签 <c:forEach> 的类

标签 java jsp jstl

我正在尝试为此 (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/

相关文章:

java - 在 fragment 中链接两个按钮

java - (jsp) scriptlet 何时运行它们的 (Java) 代码?

java - 如何使用 javascript 打印选择标签的下拉值?

jsp - 带有 c :foreach jSTL tag 的二维数组列表

java - 使用 iText 的页脚中的动态高度大小

java - 在分离的 Java 平台模块中使用不同版本的依赖项

java - 如何终止 View 作用域 bean 中的线程?

java - 使用循环动态显示 jasper 子报告中的多个图像

javascript - 在 JSTL 上调用 javascript 函数 'form field'

java - Eclipse javascript 字符编码