pessoal estou com um problema que nao consigo resolver…
estou precisnado atualizar os dados e o managervbean esta sempre pegando o valor que esta na tabela…
segue o meu codigo pra analise:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition 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"
template="/template/template_padrao.xhtml">
<h:head>
</h:head>
<ui:define name="conteudo">
<div id="geral">
<h:form id="form">
<p:confirmDialog message="Deseja realmente excluir este registro?"
hideEffect="explode" header="Aviso" severity="alert"
widgetVar="confirmation" modal="true">
<p:commandButton id="btnSim" value="Sim"
oncomplete="confirmation.hide();"
immediate="true"
actionListener="#{usuarioController.removerUsuario}"
/>
<p:commandButton id="btnNao" value="Não" onclick="confirmation.hide();" type="button"/>
</p:confirmDialog>
<p:dialog modal="false" widgetVar="sucess" header="Informação do Sistema"
draggable="false" closable="false" resizable="false">
<h:panelGrid columns="2" style="padding: 25px;margin-left:150px;" cellpadding="5">
<h:outputText value="Usuário adicionado com sucesso!!" />
<p:commandButton id="infoSucess" value="OK" ajax="false" onclick="sucess.hide()" />
</h:panelGrid>
</p:dialog>
<h:panelGrid width="100%">
<p:fieldset legend="Cadastro de Novos Usuário" id="cadastroUsuario">
<h:panelGrid columns="2">
<h:outputLabel value="Nome:" id="nome" title="informe seu nome" style="FONT-WEIGHT: bold;"/>
<h:inputText value="#{usuarioController.usuario.nome}" size="100" required="true" requiredMessage="Informe seu nome"/>
<br />
</h:panelGrid>
<h:panelGrid columns="4">
<h:outputLabel value="Grupo:" style="FONT-WEIGHT: bold;"/>
<p:selectOneMenu id="listgrupo" value="#{usuarioController.grupo.idGrupo}" required="true" requiredMessage="Selecione um grupo">
<f:selectItem itemLabel="Selecione o Grupo" itemValue="#{NULL}" />
<f:selectItems value="#{usuarioController.grupos}"
var="grupo" itemLabel="#{grupo.nome}" itemValue="#{grupo.idGrupo}" />
</p:selectOneMenu>
<h:outputLabel value="Ativo:" style="FONT-WEIGHT: bold;"/>
<p:selectOneMenu id="ativo" value="#{usuarioController.usuario.isativo}" required="true" requiredMessage="Selecione um visibilidade">
<f:selectItem itemLabel="Selecione a visiblidade" itemValue="#{NULL}" />
<f:selectItem itemLabel="ativo" itemValue="1" />
<f:selectItem itemLabel="inativo" itemValue="2" />
</p:selectOneMenu>
<h:outputLabel value="Login:" id="login" title="informe seu login" style="FONT-WEIGHT: bold;"/>
<h:inputText value="#{usuarioController.usuario.login}" size="30" required="true" requiredMessage="Selecione um login"/>
<h:outputLabel value="Senha:" id="senha" title="informe seu senha" style="FONT-WEIGHT: bold;"/>
<p:password id="feedback" value="#{usuarioController.usuario.senha}" feedback="true"
promptLabel="por favor informe sua senha"
goodLabel="Bom"
strongLabel="Forte"
weakLabel="Fraca"
size="30"
required="true" requiredMessage="Informe sua senha"/>
<h:outputLabel value="repetir-Senha:" id="senha2" title="informe seu repetir-Senha" style="FONT-WEIGHT: bold;"/>
<p:password id="feedback2" value="#{usuarioController.usuario.senha}" feedback="true"
promptLabel="por favor informe sua senha"
goodLabel="Bom"
strongLabel="Forte"
weakLabel="Fraca"
size="30"
required="true" requiredMessage="Redigite sua senha para confirmação" />
</h:panelGrid>
<br />
<p:commandButton value="Salvar" type="submit" ajax="true"
actionListener="#{usuarioController.addUsuario}" update=":form:listaUsuario:">
</p:commandButton>
</p:fieldset>
<p:dataTable id="listaUsuario" var="usuario" value="#{usuarioController.usuarios}"
emptyMessage="Nenhum Usuário encontrado." paginator="true"
rows="3" rowStyleClass="odd, even">
<p:column id="ID" headerText="ID" sortBy="#{usuario.idUsuario}">
<h:outputText value="#{usuario.idUsuario}" />
</p:column>
<p:column id="Nome" filterBy="#{usuario.nome}"
headerText="Filtrar por Nome" sortBy="#{usuario.nome}">
<h:outputText value="#{usuario.nome}"/>
</p:column>
<p:column id="Login" filterBy="#{usuario.login}"
headerText="Filtrar por Login" sortBy="#{usuario.login}">
<h:outputText value="#{usuario.login}" />
</p:column>
<p:column id="Ativo" filterBy="#{usuario.isativo}"
headerText="Filtrar por Login" sortBy="#{usuario.isativo}">
<h:outputText value="#{usuario.isativo}" />
</p:column>
<p:column id="Grupo" filterBy="#{usuario.grupo.nome}"
headerText="Filtrar por Login" sortBy="#{usuario.grupo.nome}">
<h:outputText value="#{usuario.grupo.nome}" />
</p:column>
<p:column>
<p:commandButton value="Excluir" title="Excluir"
ajax="true" immediate="true" onclick="confirmation.show()"
style="margin-left: 5px">
<f:setPropertyActionListener value="#{usuario}" target="#{usuarioController.usuarioSelecionado}" />
</p:commandButton>
<p:spacer width="20"></p:spacer>
<p:commandButton value="EDITAR" title="Editar" ajax="true"
update=":formdialog:display:"
immediate="true"
onclick="editWidget.show()"
>
<f:setPropertyActionListener value="#{usuario}" target="#{usuarioController.usuarioSelecionado}" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:panelGrid>
</h:form>
<h:form id="formdialog">
<p:dialog header="Editando Usuario" widgetVar="editWidget" resizable="false" id="edit"
showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Nome:" />
<h:inputText value="#{usuarioController.usuarioSelecionado.nome}" style="font-weight:bold" size="50"/>
<h:outputText value="Login:" />
<h:inputText value="#{usuarioController.usuarioSelecionado.login}" style="font-weight:bold" size="50"/>
<h:outputText value="Grupo:" />
<h:inputText value="#{usuarioController.usuarioSelecionado.grupo.nome}" style="font-weight:bold"/>
<h:outputText value="Ativo" />
<h:inputText value="#{usuarioController.usuarioSelecionado.isativo}" style="font-weight:bold" size="50"/>
<p:commandButton value="Atualizar" type="submit" ajax="true"
oncomplete="edit.hide()"
immediate="true"
actionListener="#{usuarioController.editarUsuario}" >
</p:commandButton>
</h:panelGrid>
</p:dialog>
</h:form>
</div>
</ui:define>
</ui:composition>
tenho uma tabela que esxibe os usuariuos cadstrados e dois bt um pra atualizar e outro pra excluir
quando eu aperto no atulizar ele traz os valores que esta na linha clicada, mais se eu editar o valor e manda pro MB ele traz o valor que esta na tabela e nao o valor que eu digitei no campo imput, sera que os colegas poderiam me ajudar.
MB
package ew.com.br.controller;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import ew.com.br.business.GrupoBusiness;
import ew.com.br.business.MenuBusiness;
import ew.com.br.business.UsuarioBusiness;
import ew.com.br.model.Grupo;
import ew.com.br.model.Menu;
import ew.com.br.model.Usuario;
import ew.com.br.util.UsuarioLogado;
@ManagedBean(name="usuarioController")
@ViewScoped
public class UsuarioController implements Serializable{
@ManagedProperty(value="#{usuarioLogado}")
private UsuarioLogado usuarioLogado;
private static final long serialVersionUID = 1L;
Usuario usuario = new Usuario();
Grupo grupo = new Grupo();
Usuario usuarioSelecionado = new Usuario();
Usuario usuarioEditado = new Usuario();
private Menu menu = new Menu();
private List<Menu> menus = new ArrayList<Menu>();
List<Usuario> usuarios = new ArrayList<Usuario>();
List<Grupo> grupos = new ArrayList<Grupo>();
private DataModel<Usuario> Modelusuarios;
private DataModel<Grupo> Modelgrupos;
UsuarioBusiness usuarioBusiness = UsuarioBusiness.getInstance();
GrupoBusiness grupoBusiness = GrupoBusiness.getInstance();
MenuBusiness menuBusiness = MenuBusiness.getInstance();
@PostConstruct
public void init(){
listaGrupo();
listaUsuario();
}
public void addUsuario(){
usuario.setGrupo(grupo);
try{
usuarioBusiness.addUsuario(usuario);
}catch(Exception e){
e.getMessage();
}
}
public void listaGrupo(){
try{
grupos = grupoBusiness.listaGrupo();
//Modelgrupos = new ListDataModel<Grupo>(grupos);
}catch(Exception e){
e.getMessage();
}
}
public void editarUsuario(){
try{
usuarioBusiness.editarUsuario(usuario);
}catch(Exception e){
}
}
public void removerUsuario(){
try{
usuarioBusiness.removerUsuario(usuarioSelecionado);
}catch(Exception e){
}
}
public void listaUsuario(){
try{
usuarios = usuarioBusiness.listaUsuario();
//Modelusuarios = new ListDataModel<Usuario>(usuarios);
}catch(Exception e){
e.getMessage();
}
}
/* METODOS SET E GET*/
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Grupo getGrupo() {
return grupo;
}
public void setGrupo(Grupo grupo) {
this.grupo = grupo;
}
public DataModel<Usuario> getModelusuarios() {
return Modelusuarios;
}
public void setModelusuarios(DataModel<Usuario> modelusuarios) {
Modelusuarios = modelusuarios;
}
public DataModel<Grupo> getModelgrupos() {
return Modelgrupos;
}
public void setModelgrupos(DataModel<Grupo> modelgrupos) {
Modelgrupos = modelgrupos;
}
public Menu getMenu() {
return menu;
}
public void setMenu(Menu menu) {
this.menu = menu;
}
public List<Menu> getMenus() {
return menus;
}
public void setMenus(List<Menu> menus) {
this.menus = menus;
}
public Usuario getUsuarioSelecionado() {
return usuarioSelecionado;
}
public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
this.usuarioSelecionado = usuarioSelecionado;
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
public List<Grupo> getGrupos() {
return grupos;
}
public void setGrupos(List<Grupo> grupos) {
this.grupos = grupos;
}
public UsuarioLogado getUsuarioLogado() {
return usuarioLogado;
}
public void setUsuarioLogado(UsuarioLogado usuarioLogado) {
this.usuarioLogado = usuarioLogado;
}
public Usuario getUsuarioEditado() {
return usuarioEditado;
}
public void setUsuarioEditado(Usuario usuarioEditado) {
this.usuarioEditado = usuarioEditado;
}
}
obrigado pessoal!!