[RESOLVIDO] facesmessage + confirmdialog

Bom dia, estou usando o confirmdialog do jsf “primefaces” só que estou com um problema. Quando o usuário confirma a remoção de um item usando o confirmdialog eu não consigo apresentar com o FacesMessage a mensagem de remoção no escopo do meu formulário. Acredito que seja um erro mais especifico do jsf. Vou postar o cód.

Obs.: Eu consigo mostrar mensagens normalmente “Quando se faz uma inclusão ou alteração” só não consigo neste caso especifico. Segue o cód ai galera.

Bean

public String remove(){
		DAO<PerfilUsuario> dao = new DAO<PerfilUsuario>(PerfilUsuario.class);
		dao.remove(getSelectPerfil());
        FacesContext.getCurrentInstance().addMessage(":formDados:msgUsu", new FacesMessage(FacesMessage.SEVERITY_INFO,"Usuário "+getSelectPerfil().getNome()+" removido com sucesso.", ""));;  
		this.perfilUsuarios = dao.listaTodos();
		return "usuario?faces-redirect=true";
 	}

Um pouco grande mais talvez fique melhor para identificar algum possivel erro.


<ui:composition template="/_template_geral.xhtml">

	<ui:define name="corpo">

		<h:form id="formDados">
			<p:messages id="msgUsu" />
			<p:tabView>
				<p:tab title="Dados Usu&#225;rio">
					<h:panelGrid columns="4">

						<h:outputLabel value="Nome:" for="nome" />
						<p:inputText id="nome"
							value="#{perfilUsuarioBean.perfilUsuario.nome}" required="true"
							size="40" requiredMessage="Nome Obrigatorio!" />

						<h:outputLabel value="Telefone:" for="telefone" />
						<p:inputMask value="#{perfilUsuarioBean.perfilUsuario.telefone}"
							maxlength="10" size="14" required="true"
							requiredMessage="Telefone obrigatorio!" mask="(99)9999-9999"></p:inputMask>

						<h:outputLabel value="Endere&#231;o:" for="endereco" />
						<p:inputText size="40"
							value="#{perfilUsuarioBean.perfilUsuario.endereco}"
							required="true" requiredMessage="Endere&#65533;o obrigatorio!" />

						<h:outputLabel value="CPF:" for="cpf" />
						<p:inputMask size="13"
							value="#{perfilUsuarioBean.perfilUsuario.cpf}" required="true"
							requiredMessage="CPF obrigatorio!" mask="999.999.999-99" />


						<h:outputLabel value="Complemento:" for="complemento" />
						<p:inputText size="20"
							value="#{perfilUsuarioBean.perfilUsuario.complemento}"
							required="true" requiredMessage="Endere&#65533;o obrigatorio!" />

						<h:outputLabel value="RG:" for="rg" />
						<p:inputMask size="8"
							value="#{perfilUsuarioBean.perfilUsuario.rg}" required="true"
							requiredMessage="RG obrigatorio!" mask="9.999.999" />

						<h:outputLabel value="Bairro:" for="bairro" />
						<h:selectOneMenu value="#{perfilUsuarioBean.bairroId}"
							required="true" requiredMessage="Perfil Obrigatorio!">
							<f:selectItem itemLabel="" itemValue="" noSelectionOption="true" />
							<f:selectItems value="#{listaBairro.bairros}" var="bairros"
								itemLabel="#{bairros.nomeBairro}"
								itemValue="#{bairros.idBairro}" />
						</h:selectOneMenu>

						<h:outputLabel value="Sexo:" for="sexo" />
						<h:selectOneMenu value="#{perfilUsuarioBean.perfilUsuario.sexo}"
							required="true" requiredMessage="Sexo Obrigatorio!">
							<f:selectItem itemLabel="Masculino" itemValue="1" />
							<f:selectItem itemLabel="Feminino" itemValue="2" />
						</h:selectOneMenu>


					</h:panelGrid>
				</p:tab>
				<p:tab title="Dados Complementares">
					<h:panelGrid columns="2">

						<h:outputLabel value="Gerencia Alocado:" for="gerencia_alocado" />
						<h:selectOneMenu value="#{perfilUsuarioBean.gerenciaId}"
							required="true" requiredMessage="Perfil Obrigatorio!">
							<f:selectItem itemLabel="" itemValue="" noSelectionOption="true" />
							<f:selectItems value="#{listaGerencias.gerencias}" var="gerencia"
								itemLabel="#{gerencia.nomeGerencia}"
								itemValue="#{gerencia.id_gerencia}" />
						</h:selectOneMenu>

						<h:outputLabel value="Tipo de Funcion&#225;rio:" for="funcionario" />
						<h:selectOneMenu
							value="#{perfilUsuarioBean.perfilUsuario.tipoFuncionario}"
							required="true" requiredMessage="Perfil Obrigatorio!">
							<f:selectItem itemLabel="" itemValue="" noSelectionOption="true" />
							<f:selectItems value="#{perfilUsuarioBean.tipoFuncionarios}" />
						</h:selectOneMenu>


						<h:outputLabel value="Horas: " for="horas" />
						<p:inputMask mask="99:99"
							value="#{perfilUsuarioBean.perfilUsuario.horaTrabalhada}"
							required="true" size="5" requiredMessage="Horas obrigatorio!" />

					</h:panelGrid>
				</p:tab>
				<p:tab title="Acesso ao Sistema">
					<h:panelGrid columns="2">

						<h:outputLabel value="Login:" for="login" />
						<p:inputText id="login"
							value="#{perfilUsuarioBean.perfilUsuario.login}" required="true"
							requiredMessage="Login Obrigatorio!" />

						<h:outputLabel value="Senha:" for="senha" />
						<p:password id="senha"
							value="#{perfilUsuarioBean.perfilUsuario.senha}" required="true"
							feedback="false" requiredMessage="Por favor, informe a senha" />

						<h:outputLabel value="Perfil: " for="perfil" />
						<h:selectOneMenu
							value="#{perfilUsuarioBean.perfilUsuario.tipoUsuario}"
							required="true" requiredMessage="Perfil Obrigatorio!">
							<f:selectItem itemLabel="" itemValue="" noSelectionOption="true" />
							<f:selectItems value="#{perfilUsuarioBean.tiposUsuarios}" />
						</h:selectOneMenu>
						<br></br>
					</h:panelGrid>
					<h:panelGrid>
						<p:commandButton value="Salvar"
							action="#{perfilUsuarioBean.gravar}" />
					</h:panelGrid>
				</p:tab>
			</p:tabView>
		</h:form>
		<p:separator />
		<br />
		<h:form id="tess">

			<p:dataTable id="tbperfilUsuario" var="perfilUsuario"
				value="#{perfilUsuarioBean.perfilUsuarios}" tableStyle="width:auto">

				<p:column headerText="Nome do Usu&#225;rio" style="width:100px">
					<h:outputText value="#{perfilUsuario.nome}" />
				</p:column>

				<p:column headerText="Login" style="width:100px">
					<h:outputText value="#{perfilUsuario.login}" />
				</p:column>

				<p:column headerText="Perfil" style="width:100px">
					<h:outputText value="#{perfilUsuario.tipoUsuario}" />
				</p:column>

				<p:column style="width:58px;">
					<f:facet name="header">Alterar</f:facet>
					<h:commandLink>
						<p:graphicImage value="/resources/imagens/alterar.jpg"
							style="width: 30px; height: 30px; border-style: none;"
							title="Alterar Usu&#225;rio Cadastrado" />
						<f:setPropertyActionListener value="#{perfilUsuario}"
							target="#{perfilUsuarioBean.perfilUsuario}" />
					</h:commandLink>
				</p:column>

				<p:column style="width:58px;">
					<f:facet name="header">Remover</f:facet>
					<p:commandLink oncomplete="confirmationDialog.show()">
						<f:setPropertyActionListener value="#{perfilUsuario}"
							target="#{perfilUsuarioBean.selectPerfil}" />
						<h:graphicImage rendered="#{perfilUsuario.sexo == '1'}"
							value="/resources/imagens/ele.jpg"
							style="width: 20px; height: 20px; border-style: none;"
							title="Remover Usu&#225;rio Cadastrado" />
						<h:graphicImage rendered="#{perfilUsuario.sexo == '2'}"
							value="/resources/imagens/ela.jpg"
							style="width: 20px; height: 20px; border-style: none;"
							title="Remover Usu&#225;rio Cadastrado" />
					</p:commandLink>
				</p:column>

			</p:dataTable>
			<p:confirmDialog widgetVar="confirmationDialog"
				message="Tem certeza que deseja remover o usu&#225;rio selecionado ?"
				modal="true" header="Confirme a remo&#231;&#227;o" severity="alert">

				<p:commandButton value="Sim" action="#{perfilUsuarioBean.remove}"
					update="tbperfilUsuario" oncomplete="confirmationDialog.hide()" />
				<p:commandButton value="N&#227;o"
					onclick="confirmationDialog.hide()" type="button" />
			</p:confirmDialog>
		</h:form>
	</ui:define>
</ui:composition>
</html>

Alguem ai que possa ajudar galera ? UP

Então galera, depois de passar a manhã inteira quebrando a cabeça eu consegui resolver esse pepino.

O que eu fiz foi alterar primeiramente de action para actionEvent no commandButton e mais algumas alterações. Segue o código.

Isso aqui é no meu formulário.

<p:column style="width:58px;text-align: center;">
					<f:facet name="header">Remover</f:facet>
					<p:commandLink oncomplete="confirmationDialog.show()">
						<f:setPropertyActionListener value="#{apropriacao}" target="#{apropriacaoBean.selectApropriacao}" />
						<h:graphicImage value="/resources/imagens/cancelar.png" style="width: 10px; height: 10px; border-style: none;" title="Remover Apropria&#231;&#227;o" />
					</p:commandLink>
				</p:column>
			</p:dataTable>
			<p:confirmDialog widgetVar="confirmationDialog"	message="Tem certeza que deseja remover a apropria&#231;&#227;o selecionada?" modal="true" header="Confirme a remo&#231;&#227;o" severity="alert" >			
				<p:commandButton value="Sim" actionListener="#{apropriacaoBean.remove}"	update="tbapropriacao,msg" oncomplete="confirmationDialog.hide()" ajax="false"/>
				<p:commandButton value="N&#227;o" onclick="confirmationDialog.hide()" type="button"/>
			</p:confirmDialog>	 

E aki no meu bean.

public String remove(ActionEvent actionEvent){
		DAO<Apropriar> dao = new DAO<Apropriar>(Apropriar.class);
		dao.remove(getSelectApropriacao());
        FacesContext.getCurrentInstance().addMessage(":apropriar:msg", new FacesMessage(FacesMessage.SEVERITY_INFO,"Apropriação removido com sucesso.", ""));;  
        this.apropriacoes = dao.listaTodos();
        return "/menuUsuario";
 	}

É isso galera, abraços…