Olá galera é o seguinte: Tenho uma página com um datatable listando todos os meus dados do bd.
Preciso que quando eu clico no link alterar eu vou para um formulário de alteração com os campos preenchidos.
eu já fiz redirecionar para o formulário só que ele está vazio.
ListarUsuario.jsf:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Lista de Usuário</title>
<style>
.ui-widget,
.ui-widget .ui-widget {
font-size: 12px !important;
}
</style>
</h:head>
<h:body>
<ui:include src="menu.xhtml"/>
<br/>
<h:form>
<p:panel header="Lista de Usuários cadastrados">
<br/>
<p:dataTable id="listaUsuario" var="usuario" value="#{usuarioBean.lista}" paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
<p:column style="width:120px;">
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{usuario.id}"/>
</p:column>
<p:column style="width:300px;" id="filtronome" filterBy="#{usuario.nome}"
headerText="Nome:" filterMatchMode="contains">
<h:outputText value="#{usuario.nome}" />
</p:column>
<p:column style="width:120px;" id="filtrostatus" filterBy="#{usuario.status}"
headerText="Status:" filterMatchMode="contains">
<h:outputText value="#{usuario.status}" />
</p:column>
<p:column style="width:300px;">
<f:facet name="header">
<h:outputText value="E-mail" />
</f:facet>
<h:outputText value="#{usuario.email}"/>
</p:column>
<p:column style="width:60px;" >
<h:commandLink action="#{usuarioBean.alterar}" value="Editar">
<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}" />
</h:commandLink>
<h:commandLink action="#{usuarioBean.excluir}" id="showconfirmdelete" oncomplete="confirmationdel.show()" title="Excluir">
<p:graphicImage value="/images/delete.png"/>
<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}" />
</h:commandLink>
</p:column>
</p:dataTable>
</p:panel>
</h:form>
</h:body>
</html>
UsuarioBean:
package beans;
import java.io.IOException;
import java.io.Serializable;
import java.sql.Date;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import vo.Municipio;
import dao.UsuarioDao;
import vo.Usuario;
@ManagedBean(name = "usuarioBean")
@SessionScoped
public class UsuarioBean implements Serializable{
private static final long serialVersionUID = -3301272384516803090L;
private int id;
private String login;
private String senha;
private String status;
private String cnpjCpf;
private String razaoSocial;
private String nome;
private String inscrEstadual;
private String rg;
private String inscrMun;
private String rua;
private String complemento;
private String numero;
private String bairro;
private int idmunicipio; // campo municipio id
private String cep;
private String telefone;
private String www;
private String email;
private String obs;
private Date dtCadastro;
private String sts;
private int idempresa;
private ArrayList<Usuario> lista;
Usuario usuario = new Usuario();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCnpjCpf() {
return cnpjCpf;
}
public void setCnpjCpf(String cnpjCpf) {
this.cnpjCpf = cnpjCpf;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getInscrEstadual() {
return inscrEstadual;
}
public void setInscrEstadual(String inscrEstadual) {
this.inscrEstadual = inscrEstadual;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getInscrMun() {
return inscrMun;
}
public void setInscrMun(String inscrMun) {
this.inscrMun = inscrMun;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public int getIdmunicipio() {
return idmunicipio;
}
public void setIdmunicipio(int idmunicipio) {
this.idmunicipio = idmunicipio;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getWww() {
return www;
}
public void setWww(String www) {
this.www = www;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getObs() {
return obs;
}
public void setObs(String obs) {
this.obs = obs;
}
public Date getDtCadastro() {
return dtCadastro;
}
public void setDtCadastro(Date dtCadastro) {
this.dtCadastro = dtCadastro;
}
public String getSts() {
return sts;
}
public void setSts(String sts) {
this.sts = sts;
}
public int getIdempresa() {
return idempresa;
}
public void setIdempresa(int idempresa) {
this.idempresa = idempresa;
}
public ArrayList<Usuario> getLista() {
lista = UsuarioDao.listar();
return lista;
}
public void setLista(ArrayList<Usuario> lista) {
this.lista = lista;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String inserir() {
usuario.setMunicipio(new Municipio());
usuario.setRazaoSocial(nome);
usuario.setNome(nome);
usuario.setLogin(login);
usuario.setSenha(senha);
usuario.setStatus(status);
usuario.setEmail(email);
usuario.setTelefone(telefone);
usuario.setCnpjCpf(cnpjCpf);
usuario.setRg(rg);
usuario.setRua(rua);
usuario.setComplemento(complemento);
usuario.setNumero(numero);
usuario.setBairro(bairro);
usuario.getMunicipio().setId(idmunicipio);
usuario.setObs(obs);
UsuarioDao usrDao = new UsuarioDao();
try {
Boolean inserir = usrDao.inserir(usuario);
if (inserir != false) {
usuario.setRazaoSocial("");
usuario.setNome("");
usuario.setLogin("");
usuario.setSenha("");
usuario.setStatus("");
usuario.setEmail("");
usuario.setTelefone("");
usuario.setCnpjCpf("");
usuario.setRg("");
usuario.setRua("");
usuario.setComplemento("");
usuario.setNumero("");
usuario.setBairro("");
usuario.setObs("");
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Ok", "Usuário cadastrado com sucesso!"));
}else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro", "Erro ao cadastrar usuário.Tente novamente!"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public String alterar() throws IOException{
UsuarioDao usrDao = new UsuarioDao();
usrDao.procurar(this.usuario.getId());
if(usrDao != null){
//Redirecionando
FacesContext faces = FacesContext.getCurrentInstance();
ExternalContext context = faces.getExternalContext();
context.redirect("altUsuario.jsf");
}
return null;
}
public String excluir(){
try {
UsuarioDao excDao = new UsuarioDao();
Usuario usuario = excDao.procurar(this.usuario.getId());
boolean excluir = excDao.excluir(usuario);
if(excluir != false){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Ok", "Usuário excluído com sucesso!"));
}else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro", "Erro ao excluir usuário.Tente Novamente!"));
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
Formulário de alteração do Usuario:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Alteração de Usuários</title>
<style>
.ui-widget,
.ui-widget .ui-widget {
font-size: 12px !important;
}
</style>
</h:head>
<h:body>
<ui:include src="menu.xhtml"/>
<br/>
<h:form id="form">
<p:panel header="Alteração de Usuários">
<br/>
<p:fieldset legend="Dados cadastrais">
<br/>
<h:panelGrid columns="4" width="900">
<h:column>
<h:outputLabel value="Nome:" />
</h:column>
<h:column>
<p:inputText required="true" id="nome" size="40" value="#{usuarioBean.nome}"/>
</h:column>
<h:column>
<h:outputLabel value="Login:"/>
</h:column>
<h:column>
<p:inputText required="true" id="login" size="20" value="#{usuarioBean.login}"/>
</h:column>
<h:column>
<h:outputLabel value="Senha:"/>
</h:column>
<h:column>
<p:password id="password" size="20" value="#{usuarioBean.senha}"/>
</h:column>
<h:column>
<h:outputLabel value="Status:"/>
</h:column>
<h:column>
<h:selectOneRadio id="status" value="#{usuarioBean.status}">
<f:selectItem itemLabel="Ativo" itemValue="AT" />
<f:selectItem itemLabel="Inativo" itemValue="IN" />
</h:selectOneRadio>
</h:column>
<h:column>
<h:outputLabel value="E-mail:"/>
</h:column>
<h:column>
<p:inputText required="true" id="email" size="40" value="#{usuarioBean.email}"/>
</h:column>
<h:column>
<h:outputLabel value="Telefone:"/>
</h:column>
<h:column>
<p:inputText required="true" id="fone" size="20" value="#{usuarioBean.telefone}"/>
</h:column>
<h:column>
<h:outputLabel value="CPF:"/>
</h:column>
<h:column>
<p:inputText required="true" id="cpfcnpj" size="20" value="#{usuarioBean.cnpjCpf}"/>
</h:column>
<h:column>
<h:outputLabel value="RG:"/>
</h:column>
<h:column>
<p:inputText required="true" id="rg" size="20" value="#{usuarioBean.rg}"/>
</h:column>
</h:panelGrid>
</p:fieldset>
<br/>
<p:fieldset legend="Endereço">
<br/>
<h:panelGrid columns="4" width="900">
<h:column>
<h:outputLabel value="Rua:" />
</h:column>
<h:column>
<p:inputText required="true" id="rua" size="40" value="#{usuarioBean.rua}"/>
</h:column>
<h:column>
<h:outputLabel value="Complemento:" />
</h:column>
<h:column>
<p:inputText required="false" id="complemento" size="40" value="#{usuarioBean.complemento}"/>
</h:column>
<h:column>
<h:outputLabel value="Número:" />
</h:column>
<h:column>
<p:inputText required="false" id="numero" size="20" value="#{usuarioBean.numero}"/>
</h:column>
<h:column>
<h:outputLabel value="Bairro:" />
</h:column>
<h:column>
<p:inputText required="true" id="bairro" size="40" value="#{usuarioBean.bairro}"/>
</h:column>
<h:column>
<h:outputLabel value="CEP:" />
</h:column>
<h:column>
<p:inputText required="false" id="cep" size="20" value="#{usuarioBean.cep}"/>
</h:column>
<h:column>
<h:outputLabel value="Município:" />
</h:column>
<h:column>
<h:inputText id="municipio" value="#{usuarioBean.idmunicipio}"/>
</h:column>
<h:column>
<h:outputLabel value="Observação:" />
</h:column>
<h:column>
<p:inputTextarea id="observacao" rows="5" cols="40" value="#{usuarioBean.obs}"/>
</h:column>
<h:column>
</h:column>
<h:column>
</h:column>
<h:column>
</h:column>
<h:column>
</h:column>
</h:panelGrid>
<p:separator />
<br></br>
<p:commandButton value="Confirma" action="#{usuarioBean.corfirmaalteracao}"/>
</p:fieldset>
</p:panel>
</h:form>
</h:body>
</html>
Eu preciso saber como fazer isso no método alterar:
Obrigado :!: