Array lista com jstl

boa tarde estou aprendendo jstl e tive um problema aqui

quero exibir o conteudo de um arrayList da minha classe dao com scriptlets ele funciona sem problemas mais com jstl nada e nen da erro nenhum tenho quase certeza que isso aqui ta errado

value="${dao.getLista[0].nome}"

mais em todos os locais que pesquisei a sintaxe usada eh essa

o que eu to usando pra mostrar esse array list eh o seguinte


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




<jsp:useBean id="dao" class="com.borges.app.PessoaDAO"/>

<!-- esse  ta funcionando->
 <c:out value="estamos aqui pra isso"/>

<!-- esse com  a varivel nada -->
 <c:out value="${dao.getLista[0].nome}"/>
 
 
 <c:forEach var="contato" items="${dao.getLista}"  >
 
 <li> ${contato.nome}</li>
 </c:forEach>

esse c:out <c:out value="${dao.getLista[0].nome}"/> retorna ${dao.getLista[0].nome}
e o for <c:forEach var=“contato” items="${dao.getLista}" > retorna ${contato.nome}

com scriplet com esse codigo aqui ele mostra sem erros o conteudo


<%
PessoaDAO PessoaDAO = new PessoaDAO();
ArrayList<Pessoa> pessoa;
pessoa=PessoaDAO.getLista();


for(Pessoa visual :pessoa){
%>
<tr>
<td><%=visual.getIdpessoa()%></td>
<td><%=visual.getNome()%></td>
<td><a href="lista.jsp?id=<%=visual.getIdpessoa()%>&acao=1">deletar</a></td>
<td><a href="lista.jsp?id=<%=visual.getIdpessoa()%>&acao=2">atualizar</a></td>
</tr>
<%
}

%>

a minhas classes

a classe PessoaDAO.getLista()

public ArrayList getLista(){
		ArrayList<Pessoa> arraypessoas= new ArrayList<Pessoa>();
		
		try{  
	      String busca = "select * from pessoa";
	      PreparedStatement  statment = con.prepareStatement(busca);
          ResultSet resultados=statment.executeQuery();
	         while(resultados.next()){
	        	Pessoa p = new Pessoa();
	        	p.setIdpessoa(resultados.getInt("idpessoa"));
		        p.setNome(resultados.getString("nome"));
        		p.setFone(resultados.getString("fone"));
		        p.setCelular(resultados.getString("celular"));
		        p.setEmail(resultados.getString("email"));
		        p.setUser(resultados.getString("user"));
		        p.setSenha(resultados.getString("senha"));
		        p.setIdfuncao(""+resultados.getInt("idfuncao"));
		        
		        arraypessoas.add(p);
             }
       }catch (SQLException e) {
	        System.err.println(e);
	    }catch (Exception e) {
		    System.err.println(e);
	    }
		
		    return arraypessoas;	
		
		    
	}

Vai ver vc deveria fazer assim:

<c:out value="${dao.lista[0].nome}"/>

usando lista e não getlista – EL o getAlgumaCoisa é omitido, vc acessa direto ${objeto.algumaCoisa}

Veja o capitulo 8 da apostila da Caelum Web (fj-12)

sim eu to usando so sexemplos da apostila da Caelum , fiz exatamente como esta la mais parece que o meu eclipse naun reconehce as EL olha minha tela ai

a primeira EL ok ela aparece como variavel amsi as outras nada

Valeu pela força ele funcionou aqui tive que fazer o seguinte:

chamar o descritor da tag de dentro do meu web app assim

<%@ taglib uri="/WEB-INF/c-1_0.tld" prefix=“c”%>

colocar essa diretiva jsp
<%@ page isELIgnored=“true” %>
sem ela o jsp naun tava entendendoa s minahs EL

o primeiro c:out ficou sem enunhma alteracao

ja o do forEach eu usei o codigo assim

<c:forEach var=“vari” items="${dao.lista}">


<c:out value="${vari.nome}" />

</c:forEach>

e agora ta funcionando obrigado epla ajuda