Problema com combobox + annottations + vraptor

0 respostas
M

[b]Galera me ajudem ai por favor sei que e um topico repetido ja li varios mais nao consegui resolver

seguinte nao consigo lista no combo box

tenho duas classe anotadas

A Cliente e Funcionario

e no cadastro de cliente quero colocar o funcionario que cadastrou o cliente

mais nao da erro nenhum apenas nao lista no jsp [/b]

jsp formulario.ok.jsp

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Cadastro de Clientes</title>
		<link rel="stylesheet" type="text/css" href="css/style.css" />
	</head>
	<body>
		<h1>
			Cadastro de Clientes
		</h1>
		<form action="cliente.armazena.logic" method="post">
			<input type="hidden" name="cliente.id" value="${cliente.id}" />
			Nome do Cliente
			<input type="text" name="cliente.nome" value="${cliente.nome}" />
			<br />
			Funcionario Responsavel pelo Cadastro
			<select name="cliente.funcionario.id">
				<c:forEach var="funcionario" items="${ListaFuncionarios}">
					<option value="${funcionario.id}"
						<c:if test="${cliente.funcionario.id == funcionario.id}">selected="true"</c:if>>
						${funcionario.nome}
					</option>
				</c:forEach>
			</select>
			<input type="submit" />
		</form>
	</body>
</html>

Clientelogic

package logic;

import java.util.List;

import org.mytech.beans.Cliente;
import org.mytech.beans.Funcionario;
import org.mytech.daos.DaoFactory;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;


@Component
@InterceptedBy(DaoInterceptor.class)
public class ClienteLogic {
	
	private final DaoFactory daoFactory;
	private Cliente cliente;
	private List<Cliente> clientes;
	
	public ClienteLogic(DaoFactory daoFactory) {
		this.daoFactory = daoFactory;
	}
	public void formulario() {
	}
	
	public void editar(Cliente cliente) {
		// carrega os dados no banco para edicao
		this.cliente = this.daoFactory.getClienteDao().procura(cliente.getId());
	}
	// Adiciona um genero novo ou atualiza se for edicao
	public void armazena (Cliente cliente) {
		this.daoFactory.beginTransaction();
		this.daoFactory.getClienteDao().atualiza(cliente);
		this.daoFactory.commit();
		System.out.println("Adicionou Cliente:" + cliente.getNome());
	}
	// Remove um genero novo ou atualiza se for edicao
	public void remove (Cliente cliente) {
		this.daoFactory.beginTransaction();
		this.daoFactory.getClienteDao().remove(cliente);
		this.daoFactory.commit();
		System.out.println("Removeu o Cliente:" + cliente.getNome());
	}
	public void lista () {
		this.clientes = this.daoFactory.getClienteDao().listaTodos();
		System.out.println("Removeu o Cliente:" + clientes);
	}
	public Cliente getCliente() {
		return cliente;
	}
	public List<Cliente> getClientes() {
		return clientes;
	}
	//list para relacionamentos
	// metodo usado para popular o select
	public List<Funcionario> getListaFuncionarios() {
	return this.daoFactory.getFuncionarioDao().listaTodos();
	}
	
	

}

Cliente

package org.mytech.beans;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/* Cliente entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
public class Cliente implements java.io.Serializable {

	@Transient
	private int temporaria;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
//	@Column(name="id_cliente")
	private Long id;
	
	@Column(nullable=false, length=40,
			insertable=true, updatable=true)
	private String nome;
		
	/* Mapeamento para relacionamentos*/
	
	@OneToMany(cascade=CascadeType.PERSIST, fetch=FetchType.EAGER)
	@JoinTable(name="funcionario")
	private Set<Funcionario> funcionarios = new HashSet<Funcionario>();

	
	// Constructors

	/** default constructor */
	public Cliente() {
	}


	/**
	 * @return the temporaria
	 */
	public int getTemporaria() {
		return temporaria;
	}


	/**
	 * @param temporaria the temporaria to set
	 */
	public void setTemporaria(int temporaria) {
		this.temporaria = temporaria;
	}


	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}


	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}


	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}


	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * @return the funcionarios
	 */
	public Set<Funcionario> getFuncionarios() {
		return funcionarios;
	}


	/**
	 * @param funcionarios the funcionarios to set
	 */
	public void setFuncionarios(Set<Funcionario> funcionarios) {
		this.funcionarios = funcionarios;
	}
	
}

Dao

package org.mytech.daos;
import java.util.List; 

import org.hibernate.Session; 

public class Dao<T> { 

	private final Session session; 
	private final Class type; 

	public Dao(Session session, Class type) { 
		this.session = session; 
		this.type = type; 
	} 

	protected Session getSession() { 
		return session; 
	} 

		public List<T> listaTodos(){ 
		return this.session.createCriteria(this.type).list(); 
	} 

	public T procura(Long id) { 
		return (T) session.load(this.type, id); 
	} 
}

ta no modo trace do vraptor

17:43:07,921 DEBUG [VRaptorServlet      ] new request to /locadora/cliente.formulario.logic
17:43:07,921 DEBUG [DefaultLogicLocator ] Requested url (request wrapped): /locadora/cliente.formulario.logic
17:43:07,921 DEBUG [DefaultLogicLocator ] requested uri: cliente.formulario.logic
17:43:07,921 DEBUG [DefaultLogicLocator ] logic method extracted: org.vraptor.component.DefaultLogicMethod@201dbc
17:43:07,921 DEBUG [VRaptorExecution    ] Calling execute on org.vraptor.core.WebRequest@1646de5 / org.vraptor.component.DefaultLogicMethod@201dbc
17:43:07,921 DEBUG [DefaultViewLocator  ] Requested url (request wrapped): /locadora/cliente.formulario.logic
17:43:07,921 DEBUG [DefaultViewLocator  ] requested uri: cliente.formulario.logic
17:43:07,921 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.RegisterAttributesInteceptor@6b0a6a
17:43:07,921 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.FlashScopeInterceptor@178efd5
17:43:07,921 DEBUG [InterceptorDealer   ] Adding interceptor logic.DaoInterceptor
17:43:07,921 DEBUG [InterceptorsLogicFlow] Calling interceptor: logic.DaoInterceptor@c9b2bc
17:43:07,921 DEBUG [BasicIntrospector   ] Outjecting key org.mytech.daos.DaoFactory at REQUEST
17:43:07,952 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.ComponentLookupInterceptor
17:43:07,952 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.ComponentLookupInterceptor@1f58334
17:43:07,952 DEBUG [ComponentLookupInterceptor] Instantiating class logic.ClienteLogic
17:43:07,952 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.InjectionInterceptor
17:43:07,952 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.InjectionInterceptor@1790458
17:43:07,952 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.SettingAndValidationInterceptor
17:43:07,952 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.SettingAndValidationInterceptor@c5e60
17:43:07,952 DEBUG [ValidatorEngine     ] checking validation using org.vraptor.component.DefaultLogicMethod
17:43:07,952 DEBUG [ValidatorEngine     ] loading resource bundle: messages for locale pt_BR
17:43:07,952 DEBUG [ValidatorEngine     ] Resource bundle not found: messages
17:43:07,952 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.ExecuteLogicInterceptor
17:43:07,952 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.ExecuteLogicInterceptor@7f1ac
17:43:07,952 DEBUG [ExecuteLogicInterceptor] executing business logic org.vraptor.component.DefaultLogicMethod@201dbc
17:43:07,952 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.OutjectionInterceptor
17:43:07,952 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.OutjectionInterceptor@18b91cb
17:43:07,984 DEBUG [BasicIntrospector   ] Outjecting key clientes at REQUEST
17:43:07,984 DEBUG [BasicIntrospector   ] Outjecting key listaFuncionarios at REQUEST
17:43:07,984 DEBUG [BasicIntrospector   ] Outjecting key cliente at REQUEST
17:43:07,984 DEBUG [InterceptorDealer   ] Adding interceptor org.vraptor.interceptor.ViewInterceptor
17:43:07,984 DEBUG [InterceptorsLogicFlow] Calling interceptor: org.vraptor.interceptor.ViewInterceptor@1aa8eb7
17:43:07,984 DEBUG [ViewInterceptor     ] last interception: ready to forward with result ok
17:43:07,984 DEBUG [RegexViewManager    ] Server-side redirect to: /cliente/formulario.ok.jsp

[b]Galera me ajudem ai por favor sei que e um topico repetido ja li varios mais nao consegui resolver

seguinte nao consigo lista no combo box

tenho duas classe anotadas

A Cliente e Funcionario

e no cadastro de cliente quero colocar o funcionario que cadastrou o cliente

mais nao da erro nenhum apenas nao lista no jsp [/b]

Criado 18 de julho de 2008
Respostas 0
Participantes 1