使用$ {}时,不显示带有bean和<c:foreach>的JSP页面,但使用&lt;%=%&gt; </c:foreach>

时间:2013-09-23 15:22:32

标签: java jsp jstl javabeans

所以如果我试试这个

<c:forEach items="${beanArraylist}" var="item">
    <c:out value="${item}"/><p>
</c:forEach>

没有显示但是如果我这样做

<c:forEach items="<%= beanArraylist%>" var="item">
    <c:out value="${item}"/><p>
</c:forEach>

它可以工作,并且显示了ArrayList中的项目

我不知道为什么它适用于<%= %>但不适用于${ }任何人都有任何想法。

编辑:显示Bean类

import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

public class BeanArraylist {
    ArrayList<BeanArrayListItem> bean;

    public BeanArrayList() {
        bean = new ArrayList<BeanArrayListItem>();
    }

    public void clearBeanArrayList() {
        bean = new ArrayList<BeanArrayListItem>();
    }

    public void insertBeanArrayList(BeanArrayListItem beanItem) {
        bean.add(beanItem);
    }

    public ArrayList getBeanArrayList() {
        return bean;
    }
}

1 个答案:

答案 0 :(得分:0)

好,所以我明白了。我不得不添加这一行

request.setAttribute("beanArraylist", bean);

在我的servlet中。 servlet是创建bean对象并调用JSP页面的地方,否则beanArraylist<c:forEach items="${beanArraylist}" var="item">中调用时,JSP页面中的{{1}}始终为空,因此无需输出