Pessoal
Qnd eu clico em editar, ele carrega a tal tela p eu editar o que eu quero, e depois atualizar no banco. Mas ao inves de atualizar no banco, ele cria um novo registro no banco
com as informações novas ! Vou colar os códigos aqui p ver se vcs podem me ajudar…
Tela de edição com os dados carregados…
<?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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Cadastro de Usuários</title>
</h:head>
<h:body>
<h1>Cadastro de Usuários</h1>
<hr />
<h:form id="cadastro">
<h:messages />
<h:inputHidden value="#{usuarioBean.usuario.codigo}"/>
<h:inputHidden value="#{usuarioBean.usuario.ativo}"/>
<h:inputHidden value="#{usuarioBean.destinoSalvar}"/>
<h:panelGrid columns="2">
<h:outputLabel value="Nome:" for="nome" />
<h:inputText id="nome" label="Nome" value="#{usuarioBean.usuario.nome}" required="true" />
<h:outputLabel value="Matricula:" for="matricula"/>
<h:inputText id="matricula" label="Matricula" value="#{usuarioBean.usuario.matricula}" required="true"/>
<h:outputLabel value="Login" for="login" />
<h:inputText id="login" label="login" value="#{usuarioBean.usuario.login}"/>
<h:outputLabel value="Senha:" for="senha" />
<h:inputSecret id="senha" label="Senha" value="#{usuarioBean.usuario.senha}" required="true" />
<h:outputLabel value="Confirmar Senha:" for="confirmarsenha"/>
<h:inputSecret id="confirmarsenha" label="Confirmar Senha" value="#{usuarioBean.confirmarSenha}" required="true" />
<h:commandButton action="#{usuarioBean.salvar}" value="Salvar" />
</h:panelGrid>
</h:form>
<hr />
</h:body>
</html>
Tela do Bean
package requisicao.web;
import javax.faces.application.FacesMessage;
import javax.faces.bean.*;
import javax.faces.context.FacesContext;
import java.util.List;
import requisicao.usuario.*;
@ManagedBean(name = "usuarioBean")
@RequestScoped
public class UsuarioBean {
private Usuario usuario = new Usuario();
private String confirmarSenha;
private List<Usuario> lista;
private String destinoSalvar;
public String novo() {
this.destinoSalvar = "usuarioSucesso";
this.usuario = new Usuario();
this.usuario.setAtivo(true);
return "usuario";
}
public String ativar() {
if (this.usuario.isAtivo())
this.usuario.setAtivo(false);
else
this.usuario.setAtivo(true);
UsuarioRN usuarioRN = new UsuarioRN();
usuarioRN.salvar(this.usuario);
return null;
}
public String editar() {
this.confirmarSenha = this.usuario.getSenha();
return "/pages/publico/usuario";
}
public List<Usuario> getLista() {
if (this.lista == null) {
UsuarioRN usuarioRN = new UsuarioRN();
this.lista = usuarioRN.listar();
}
return this.lista;
}
public String excluir() {
UsuarioRN usuarioRN = new UsuarioRN();
usuarioRN.excluir(this.usuario);
this.lista = null;
return null;
}
public String salvar() {
FacesContext context = FacesContext.getCurrentInstance();
String senha = this.usuario.getSenha();
if (!senha.equals(this.confirmarSenha)) {
FacesMessage facesMessage = new FacesMessage(
"A senha não foi confirmada corretamente");
context.addMessage(null, facesMessage);
return null;
}
UsuarioRN usuarioRN = new UsuarioRN();
usuarioRN.salvar(this.usuario);
return "this.destinoSalvar";
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String getConfirmarSenha() {
return confirmarSenha;
}
public void setConfirmarSenha(String confirmarSenha) {
this.confirmarSenha = confirmarSenha;
}
public String getDestinoSalvar() {
return destinoSalvar;
}
public void setDestinoSalvar(String destinoSalvar) {
this.destinoSalvar = destinoSalvar;
}
public void setLista(List<Usuario> lista) {
this.lista = lista;
}
}
Obrigado =)