Ola pessoal, tenho um problema numa pagina jsp, que lista meus contatos, eu criei a classe contato seguindo o padrão javabeans, com gets e sets para todas propriedades, porem quando vou listar os contatos, acontece uma exceção do tipo el. property no found, alguem poderia me explicar o porque disso.
Exception el.property not found
7 Respostas
Esta exceção acontece tipicamente em dois cenários:
-
Você está acessando a propriedade de forma incorreta na sua página
-
Ela não está declarada no bean (ou não tem um get relacionado)
Se puder mostrar um log mais completo acho que facilitaria ^^
javax.el.PropertyNotFoundException: 'celular' Propriedade não encontrada em java.lang.String tipo
javax.el.BeanELResolver $ BeanProperties.get (BeanELResolver.java: 237)
javax.el.BeanELResolver $ BeanProperties.access $ 400 (BeanELResolver.java: 214)
javax.el.BeanELResolver.property (BeanELResolver.java: 325)
javax.el.BeanELResolver.getValue (BeanELResolver.java: 85)
javax.el.CompositeELResolver.getValue (CompositeELResolver.java: 67)
org.apache.el.parser.AstValue.getValue (AstValue.java: 169)
org.apache.el.ValueExpressionImpl.getValue (ValueExpressionImpl.java: 189)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate (PageContextImpl.java: 985)
org.apache.jsp.publico.listaContato_jsp._jspx_meth_c_005fforEach_005f0 (listaContato_jsp.java: 141)
org.apache.jsp.publico.listaContato_jsp._jspService (listaContato_jsp.java: 96)
org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java: 70)
javax.servlet.http.HttpServlet.service (HttpServlet.java: 722)
org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java: 432)
org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java: 390)
org.apache.jasper.servlet.JspServlet.service (JspServlet.java: 334)
javax.servlet.http.HttpServlet.service (HttpServlet.java: 722)[code]
<jsp:useBean id="dao" class="daos.DaoContato"></jsp:useBean>
<table summary="Lista de contatos" cellspacing="0" >
<thead>
<tr >
<th >Codigo </th>
<th>Nome</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
<c:forEach var="contatos" items="${dao.lista} ">
<tr>
<td>${contatos.nome} </td>
<td>ffff</td>
<td>
<a href="#"><img src="/Agenda/imagens/edit.png" width="16" height="16" /></a>
<a href="#"><img src="/Agenda/imagens/delete.png" width="16" height="16" /></a>
</td>
</tr>
</c:forEach>
</table>
É como se uma propriedade estive sendo procurada em uma string ao invés do javabean, alguém tem alguma idéia do que seja isso.
Realmente não entendo, começou a funcionar corretamente, porem o eclipse acusava má formação de el, parou de acusar e começou a funcionar.Obrigado a todos pelas respostas.
Quando comeca a acontecer essas coisas estranhas, eu paro o servidor, faco um undeploy do projeto(tiro ele do server), do um clean, apago a pasta .war do projeto, depois refresh no projeto dentro do eclipse, depois clean no projeto, insiro o mesmo novamente no servidor, e do outro clean. No meu caso eu uso o JBoss, e realmente, algumas vezes da uns treco muito doido…hehehehehe… parabens =D