Erro ao pegar valor do compo imput

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!!

Remove o immediate=“true”.

Muuuito OBRIGADO ayslanms

aproveitando sera que vc poderia me dizer pq esta tabela nao esta atualizando, estou dando update mais ele nao atualiza…

obrigado mais uma vez!!

Verifica se você tá recarregando a lista do datatable. Caso isso não funcione, remove o dialog de dentro do form, e coloca um form dentro dele:

<h:form>
 <!-- form atual -->
</h:form>

<p:dialog>
   <h:form>
      <!-- conteudo do dialog-->
   </h:form>
</p:dialog>

Outra coisa coloca um “update” no commandButton com o id do form quer atualizar.