Vraptor property not found jsp exception

1 resposta
doravan

O meu problema é o seguinte:
Tenho que relacionar 4 tabelas com 1:

Acoes (id, nome
Advogados (id, nome, oab
Orgaosjulgadores (id, nome
Cidade (id, nome, uf

Processos (id, processo, acoes, advogados, orgaosjulgadores, cidades

Os relacionamentos entre as Classes está feito de acordo, e os dados de Acoes/Orgaosjulgadores persistem normalmente na tabela Processos
Porém os campos advogados e cidades entram como null.

no formulario.jsp os campos aparecem para seleção normalmente.
Não sei o que faço

Segue o código abaixo

@Entity
public class Processos {

	@Id
	@GeneratedValue
	private Long id;
	
	@ManyToOne
	private Orgaosjulgadores orgaosjulgadores;

	@ManyToOne
	private Cidades cidades;

	@ManyToOne
	private Acoes acoes;
	
	@ManyToOne
	private Advogados advogados;

Cidades

@Id
	@GeneratedValue
	private Long id;

	@Column(length = 50)
	private String nome;

	@ManyToOne
	private Uf uf;

Acoes

@Entity
public class Acoes {

	@Id
	@GeneratedValue
	private Long id;

	@Column(length = 150)
	private String nome;

Advogados

@Entity
public class Advogados {

	@Id
	@GeneratedValue
	private Long id;

	@Column(length = 150)
	private String nome;
	@Column(length = 50)
	private String oab;

ProcessosController

@Resource
public class ProcessosController {

	private final AcoesDao acoesDao;
	private final AdvogadosDao advogadosDao;
	private final CidadesDao cidadesDao;
	private final ObjetosDao objetosDao;
	private final OrgaosjulgadoresDao orgaosjulgadoresDao;
	private final ProcessosDao processosDao;
	private final Result result;
	@SuppressWarnings("unused")
	private final Validator validator;

	public ProcessosController(AcoesDao acoesDao, AdvogadosDao advogadosDao,
			CidadesDao cidadesDao, ObjetosDao objetosDao,
			OrgaosjulgadoresDao orgaosjulgadoresDao, ProcessosDao processosDao,
			Result result, Validator validator) {
		this.acoesDao = acoesDao;
		this.advogadosDao = advogadosDao;
		this.cidadesDao = cidadesDao;
		this.objetosDao = objetosDao;
		this.orgaosjulgadoresDao = orgaosjulgadoresDao;
		this.processosDao = processosDao;
		this.result = result;
		this.validator = validator;
	}
....

	public void formulario() {
		this.result
				.include("acoes", acoesDao.listaTudo())
				.include("advogados", advogadosDao.listaTudo())
				.include("cidades", cidadesDao.listaTudo())
				.include("objetos", objetosDao.listaTudo())
				.include("orgaosjulgadores", orgaosjulgadoresDao.listaTudo());
	}

Eis o erro que aparece

br.com.caelum.vraptor.view.ResultException: org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/processos/lista.jsp at line 31

28:

${processos.processo}
29: ${processos.acoes.nome}
30: ${processos.vara}ª ${processos.orgaosjulgadores.nome }
31: ${processos.cidades.id }
32:
33:
34: <a href="<c:url value="/processosEdita?id=${processos.id}"/>">Editar

Penso, há algum bug no result include?
Há algum bug no manuseio dos daos?

Ajudem por favor

1 Resposta

doravan

Perdão pela nubisse, já achei o problema.

E caso alguém venha a ter esse problema, a solução é bem simples.

A propriedade não foi reconhecida pois os getters/setters para cidades e advogados estavam diferentes do padrão:

deveriam estar

public void setAdvogados(Advogados advogados) {
		this.advogados = advogados;
	}

	public Advogados getAdvogados() {
		return advogados;
	}

E estavam

public void setAdvogado(Advogados advogados) {
		this.advogados = advogados;
	}

	public Advogados getAdvogado() {
		return advogados;
	}
Criado 27 de outubro de 2010
Ultima resposta 27 de out. de 2010
Respostas 1
Participantes 1