Olá pessoal,
Sou novo na programação web em java, estou tentando fazer update no meu projeto segue abaixo o controlador o model e a pagina Jsp, ele simplesmente nao faz o update na base de dados postgresql8.4!
---------------JSP--------------
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<c:view>
<c:loadBundle basename="i18n.Messages" var="msgs"/>
<head>
<title>
<h:outputFormat value="#{msgs.toolName}"/>
</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8;">
<style type="text/css" media="all">@import "estilo.css";</style>
</head>
<body>
<h:form id="entry" >
<h1 class="tool_name"><h:outputFormat value="#{msgs.userManagerTitle}"/></h1>
<div class="block_menu">
<strong><span class="selected_sorting_option"><h:outputFormat value="#{msgs.editionTitle}"/></span></strong>
<span class="tool_menu_separator">|</span>
<h:commandLink action="usuario_list" value="#{msgs.list}" immediate="true"/>
<span class="tool_menu_separator">|</span>
<h:outputFormat value="#{msgs.help}"/>
<span class="tool_menu_separator">|</span>
<h:commandLink action="#{usuarioCtlr.logout}" value="#{msgs.logout}" immediate="true"/>
</div>
<br>
<h:inputHidden value="#{usuarioCtlr.usuario}" immediate="true"/>
<div class="field">
<h:outputLabel styleClass="field_label" value= "#{msgs.user_name_in}"/>
<div class="field_data">
<h:inputText id="nome" value="#{usuarioCtlr.usuario.nome}" title="Nome" style="width:50%;" required="true"/>
<h:message for="nome" />
</div>
</div>
<div class="field">
<h:outputLabel styleClass="field_label" value="#{msgs.user_email_in}"/>
<div class="field_data">
<h:inputText id="email" value="#{usuarioCtlr.usuario.email}" title="Email" style="width:50%;" required="true">
<c:validator validatorId="EmailValidator" />
</h:inputText>
<h:message for="email" />
</div>
</div>
<div class="field" align="right">
<h:commandButton value="#{msgs.save}" action="#{usuarioCtlr.edit}" immediate="true" />
<h:commandButton value="#{msgs.cancel}" action="usuario_list" immediate="true"/>
</div>
<br>
<div class="foot">
<h:outputFormat value="#{msgs.foot}"/>
</div>
</h:form>
</body>
</c:view>
</html>
------------------------Controller--------------------------------------
public String editSetup() {
setUsuarioFromRequestParam();
return "usuario_edit";
}
public String edit()
{
EntityManager em = getEntityManager();
try {
em.getTransaction().begin();
usuario = em.merge(usuario);
em.getTransaction().commit();
addSuccessMessage("Usuario was successfully updated.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
em.getTransaction().rollback();
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
} finally {
em.close();
}
return "usuario_list";
}
---------------Model---------------
package sead.ufscar.br.model;
import java.io.Serializable;
import java.util.Collection;
import javax.persistence.*;
/**
*
* @author eder
*/
@Entity
@Table(name = "Usuario")
@NamedQueries( {
@NamedQuery(name = "Usuario.findById", query = "SELECT u FROM Usuario u WHERE u.id = :id"),
@NamedQuery(name = "Usuario.findByNome", query = "SELECT u FROM Usuario u WHERE u.nome = :nome")
})
public class Usuario implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id",unique=true,nullable=false,insertable=true,updatable=true)
private Integer id;
@Column(name="nome")
private String nome;
@Column(name="email")
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Usuario(){
}
}
Help me!

