在c:forEach循环中打印值

时间:2018-05-15 18:07:29

标签: java database jsp arraylist

我无法从Servlet中设置我的ArrayList来响应来自Servlet,以便在JSP页面上进行迭代。

的Servlet

        ...
  //! Set Text
  request.setAttribute("texto", texto);
  request.setAttribute("textoInvertido", textoInvertido);

    try {
        //! Recovers Text List
        this.listaTextos = appController.todosOsTextos();
        ...
        }
        ...
        ArrayList<Text> list = (ArrayList<Text>) this.listaTextos;

  //! Set It (?)
  request.setAttribute("list", list);

        ...

网页:

<div class="col-md-6">
    <label>Your Words:</label>
    <c:forEach items="${list}" var="item">
       ${item.getTexto}<br>
    </c:forEach>
<div>

调试: Debug

为什么list,仍然没有回复,Texto / TextoInvertido没有?

2 个答案:

答案 0 :(得分:0)

列表仅在非空/空时才包含并打印必要的值。根据您发布的代码段,您似乎在请求范围中单独设置这些值,而不是Text对象。由于您在jsp中使用$ {item.getTexto}调用值,因此需要使用Text.setTexto()而不是request.setAttribute(“texto”,texto)设置值;

答案 1 :(得分:0)

打破头脑并搜索成千上万的答案之后:

头部缺少这一行:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

IDE不会自动包含。

<li>中,您调用属性:<li>item.Text</li>而不是getText