Estranho: "<c:forEach" vazio e não lança exceção!

3 respostas
leorbarbosa

Pessoal,

minha dúvida é parecida com a do Jefferson porque envolve JSTL (forEach), mas é o seguinte: na minha classe DAO, preencho minha lista (que será exibida no JSP) no loop abaixo e chamo o método de escrita para usar depois no JSP.

List<BeanModRateio> minhaLista = new ArrayList<BeanModRateio>();
      while ( rst.next() )
      {
        objBeanModRateio.setId_modrateio( rst.getInt("ID_MODRATEIO") );
        objBeanModRateio.setNome( rst.getString("NOME") );
        minhaLista.add(objBeanModRateio);
      }
      setListagem(minhaLista);

Só que, no JSP quando percorro a lista com “forEach”, a lista está vazia e nenhuma exceção é lançada.

<jsp:useBean id="jbeanModRateio" class="modrateio.ModalidadeRateioDAO" />
          <c:forEach var="itens" items="${jbeanModRateio.listagem}">
            <td>${itens.id_modrateio}</td>
            <td>${itens.nome}</td>
          </c:forEach>

Alguém pode ajudar?

3 Respostas

M

onde vc está criando uma nova instância para o objeto objBeanModRateio?

leorbarbosa

Markin,

este objeto é criado e passado como parâmetro no servlet que chama este método.

leorbarbosa

Segue o código completo aonde seto pelo método de escrita ‘setListagem(minhaLista);’. Quando vou depurar, ele tá vindo null!

while ( rst.next() )
      {
        objBeanModRateio.setId_modrateio( rst.getInt("ID_MODRATEIO") );
        objBeanModRateio.setNome( rst.getString("NOME") );
        minhaLista.add(objBeanModRateio);
      }
      setListagem(minhaLista);
      pst.close();
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
  }

  private List<BeanModRateio> listagem;
  public List<BeanModRateio> getListagem()
  {
    return listagem;
  }

  public void setListagem(List<BeanModRateio> listagem)
  {
    this.listagem = listagem;
  }
Criado 18 de junho de 2010
Ultima resposta 22 de jun. de 2010
Respostas 3
Participantes 2