[RESOLVIDO] Problema com JSTL

4 respostas
D

Boa tarde, estou aprendendo JSP seguindo a apostila da Caelum na parte de JSTL quando ensina a listar uns dados do banco de dados estou tendo alguns problemas

Type Exception report

message javax.el.PropertyNotFoundException: Property 'CodigoGrupo' not found on type com.br.danilomilan.sga.modelo.GrupoExercicio

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'CodigoGrupo' not found on type com.br.danilomilan.sga.modelo.GrupoExercicio
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
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:728)

Código da classe GrupoExercicio
package com.br.danilomilan.sga.modelo;

public class GrupoExercicio {

	private int CodigoGrupo;
	private String NomeGrupo;
	private boolean Ativo;
	
	public int getCodigoGrupo() {
		return CodigoGrupo;
	}
	
	public void setCodigoGrupo(int codigoGrupo) {
		CodigoGrupo = codigoGrupo;
	}
	
	public String getNomeGrupo() {
		return NomeGrupo;
	}
	
	public void setNomeGrupo(String nomeGrupo) {
		NomeGrupo = nomeGrupo;
	}

	public boolean isAtivo() {
		return Ativo;
	}

	public void setAtivo(boolean ativo) {
		Ativo = ativo;
	}
}
arquivo lista-grupo.jsp
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<!-- criar a DAO -->
	<jsp:useBean id="dao" class="com.br.danilomilan.sga.dao.GrupoExercicioDAO" />
	
	<table>
		<!-- monta a tabela dos grupos -->
		<c:forEach var="grupo" items="${dao.lista}">
			<tr>
				<td>${grupo.CodigoGrupo}</td>
				<td>${grupo.NomeGrupo}</td>
			</tr>
		</c:forEach>
	</table>
	
</body>
</html>

deem uma olhada fazendo favor, faz umas 2 semanas que não consigo resolver isso rss

desde já agradeço a atenção

4 Respostas

igor_ks

Convenção Java: a primeira letra é minuscula e quando houver duas ou mais palavras, as demais inicia com maiusculo

no seu caso, o correto deveria ser codigoGrupo e nomeGrupo

Isso não tem nada a ve com o problema, mas isso acredito que tenha:

<td>${grupo.CodigoGrupo}</td> <td>${grupo.NomeGrupo}</td>

troque para

<td>${grupo.codigoGrupo}</td> <td>${grupo.nomeGrupo}</td>

drsmachado

igor_ks:
Convenção Java: a primeira letra é minuscula e quando houver duas ou mais palavras, as demais inicia com maiusculo

no seu caso, o correto deveria ser codigoGrupo e nomeGrupo

Isso não tem nada a ve com o problema, mas isso acredito que tenha:

<td>${grupo.CodigoGrupo}</td> <td>${grupo.NomeGrupo}</td>

troque para

<td>${grupo.codigoGrupo}</td> <td>${grupo.nomeGrupo}</td>


Tem a ver sim!

igor_ks

o fato do atributo estar com a primeira letra maiscula tem a ver? Pois repare que no método get deles, está no formato correto, e é por ele que o JSTL pega o atributo

D

nossa cara, perfeito!
funcionou tudo corretamente, fiquei um bom tempo com esse problema e era somente por causa da letra maiuscula. Pra mim estava certo pois na classe estava daquela forma.

muito obrigado pela atenção de vocês!

Criado 27 de fevereiro de 2014
Ultima resposta 28 de fev. de 2014
Respostas 4
Participantes 3