Excluir objeto recebido de uma lista jsf

5 respostas
kyel

Ola pessoal

Sou novo em jsf , fiz um xhtml que recebe uma lista de objetos e através de commandLink desejo excluir um deles , o problema que esta ocorrendo é que o xhtml nao esta passando o objeto para o metodo "remover" ,que é executado mas recebe um objeto vazio.

segue codigos

lista.xhtml:

<h:head>

Usuarios

Usuarios

classe java

package br.com.locadora.logic;

import java.util.List;

import javax.faces.bean.ManagedBean;

import br.com.locadora.dao.DaoFactory;
import br.com.locadora.modelo.Usuario;

@ManagedBean(name=usuarioLogic)

public class UsuarioLogic {

private Usuario usuario = new Usuario();

private DaoFactory daoFactory;

private List  usuarios;
public UsuarioLogic(){	
	DaoFactory daoFactory = new DaoFactory();
	this.daoFactory = daoFactory;
}


public void adiciona(){
	this.daoFactory.beginTransaction();
	this.daoFactory.getUsuarioDao().adiciona(usuario);
	this.daoFactory.commit();
}

public List <Usuario> getLista(){
	usuarios = this.daoFactory.getUsuarioDao().listaTudo();
	return usuarios;
	}
public void remover (){
	this.daoFactory.beginTransaction();
	this.daoFactory.getUsuarioDao().remove(usuario);
	this.daoFactory.commit();
}

public void setUsuario(Usuario usuario) {
	this.usuario = usuario;
}

public Usuario getUsuario() {
	return usuario;
}


/*public void setUsuarios(List <Usuario> usuarios) {
	this.usuarios = usuarios;
}


public List <Usuario> getUsuarios() {
	return usuarios;
}*/

}

5 Respostas

lele_vader

O seu h:commandLink deveria ter um parâmetro com o valor do campo hidden.
Use a tag f:param para passar ao invés do hidden.

kyel

lele_vader:
O seu h:commandLink deveria ter um parâmetro com o valor do campo hidden.
Use a tag f:param para passar ao invés do hidden.

Seria dessa forma ?

<h:commandLink action="#{usuarioLogic.remover}" >
<f:param value = “#{usuarios.id}”/>
<h:outputText value=“Excluir”></h:outputText>
</h:commandLink>

tentei assim mas não funcionou,o método continua sem receber o objeto.

lele_vader

Seria assim mesmo.
Dá uma olhada no seu hidden se ele tem valor por favor.

kyel

lele_vader:
Seria assim mesmo.
Dá uma olhada no seu hidden se ele tem valor por favor.

Debugando no firegub aparentemente o comandlink esta recebendo o objeto :

Excluir

mas ainda sim o metodo apresenta o usuario = null ;

lele_vader

humm…
Tenta colocar um atributo do mesmo tipo do id no método de remover

Criado 5 de julho de 2012
Ultima resposta 5 de jul. de 2012
Respostas 5
Participantes 2