TagLibs não funcionam, apenas o scriptlet

4 respostas
TheJayyBe

Olá, estava tentando fazer a iteração dos itens obtidos de uma java bean de controle do tipo 'Lista' que pega os dados no BD através de minha página JSP com a Tag do JSTL, e gastei o dia inteiro tentando fazer isso funcionar:

Controller:
public class RecibosDAO {
...
	public static List<Recibo>getLista()
	{
		....
         return recibos;
         }   //(Funcionando Perfeitamente)

...

JSP:

<body>
...
<jsp:useBean id="dao2" class="br.com.testeDeFuncoes.DAO.RecibosDAO" />
<c:forEach var="recibo" items="${dao.lista}">

${recibo.descricao}&nbsp
${recibo.valor}<br/>

</c:forEach>
...
</body>

Erro:
[color=red]
org.apache.jasper.el.JspPropertyNotFoundException: /views/listagem.jsp(24,0) '${dao.lista}' Property 'lista' not found on type br.com.controle_valores.DAO.RecibosDAO
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:104)
at org.apache.jsp.views.listagem_jsp._jspx_meth_c_005fforEach_005f0(listagem_jsp.java:121)
at org.apache.jsp.views.listagem_jsp._jspService(listagem_jsp.java:89)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)[/color]

Acabei usando Scriptlet:
<%
RecibosDAO dao = new RecibosDAO();
List<Recibo> recibos = dao.getLista();

for (Recibo recibo: recibos){
%>
<tr>
<td> <%=recibo.getId()%></td>
<td> <a href=<%=recibo.getNomeDoArquivo()%>>
<img src="http://www.ememoria.com.br:8080/mod/ememoria_theme/images/icon-historias-big.png">
</a></td>
<td> <%=recibo.getNomeDoArquivo()%></td>
</tr>

<%
}
%>

Acabei usando o scriplet que é algo chato, e em desuso, ideias? Gracias.

4 Respostas

d34d_d3v1l

static ?? :frowning:

rmendes08

Certifique-se de que os .jar’s da JSTL estão no no classpath da sua aplicação. Adicione o atributo isELIgnored=“false” à sua diretiva <%@ page %> e adicione a diretiva:

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

TheJayyBe

d34d_d3v1l:
static ?? :frowning:

O que é/deve ser static??

TheJayyBe

rmendes08:
Certifique-se de que os .jar’s da JSTL estão no no classpath da sua aplicação. Adicione o atributo isELIgnored=“false” à sua diretiva <%@ page %> e adicione a diretiva:

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

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%> já se encontra lá. isELIgnored=“false”, adicionei, para que serve?

As ‘jars’ estão na WEB-INF/lib, adicionar ao classpath seria no caso ‘Build Path’? Se é isso, já tentei. A única classpath que vi até agora foi na instalação do Java, variáveis de ambiente (Windows).

Criado 25 de agosto de 2012
Ultima resposta 27 de ago. de 2012
Respostas 4
Participantes 3