Erro ao carregar campo select com Vraptor

15 respostas
B

Amigos estou com problema em carregar um campo select em um form, tenha minha classe controller:

public void formulario(){

result.include(filme”, listaFilmes());

}

no JSP

estou fazendo:

${filmes.nome}

só que não esta trazendo os resultados, alguem pode me ajudar???

15 Respostas

renanpto

Tem algum filme cadastrado ?

B

Sim tem, mas estou querendo carregar o select com filmes do banco em um form de cadastro do cliente???

donny

O método listaFilmes() está retornando um list com valores?

B

Bom dia, amigo Donny esta sim, tem contem o lista.

donny

Bom dia,

Tente assim:

<select id="filme" name="filmes.idFilmes">
B

Amigo conseg carregar o combo com os dados das banco, mas como gravo o valor dessa tabela, pois quando seleciono e mando gravar vai em null???

Lucas_Cavalcanti

vc precisa receber no controller uma lista de filmes:

public void metodo(Filme filmes) {...}

e no jsp:

<select id="filme" name="filmes.idFilmes">
donny

Boa tarde! Post o código do seu jsp e o código do método salvar aqui para ser analisado.

B

Codigo:

public class ClientesController {

private final ClientesDAO dao;
private final Result result;
private final FilmesDAO fdao;

public ClientesController(ClientesDAO dao, Result result, FilmesDAO fdao) {
	this.dao = dao;
	this.result = result;
	this.fdao = fdao;
}

public void salvar(Clientes cli) {
	this.dao.salvar(cli);
	this.result.redirectTo(ClientesController.class).formulario();
}

public void formulario() {
	result.include("listaFilme", listaFilme());
}

public List<Filmes> listaFilme() {
	return this.fdao.listaTudo();
}
B

meu JSP

Nome: Filmes: --Selecione-- ${filmes.nomeFilme } Gravar
B

Meu bean

@Entity
public class Clientes {

@Id
@GeneratedValue
private Long idCli;

private String nomeCli;

@ManyToOne
@JoinColumn(name = "idFilme")
private Filmes filmes;

agradeço a ajuda.

donny

No JSP, ao invés de usar apenas cli, como referência ao Bean Clientes, use “clientes”: name=“clientes.nomeCli” por exemplo.

No controller:

public void salvar(Clientes clientes) { 
this.dao.salvar(clientes); 
this.result.redirectTo(ClientesController.class).formulario(); 
}
Lucas_Cavalcanti

e no select coloque o nome como clientes.filmes.idFilmes

B

Então amigo mas o campo que va como null é o que seleciono no campo select

B

Lucas, valeu era isso msm, obrigado e agradeço tb p Donny, pois ajudou muito

mas Lucas para que no form de alteração eu trazer no select o que esta no banco preciso de algum for ou apenas carrego o select como vem no objeto???

Criado 30 de agosto de 2011
Ultima resposta 7 de set. de 2011
Respostas 15
Participantes 4