Tenho um datatable consigo fazer alteracao e exclusao, porem acima da tabela criei um commandLink para adicionar um novo registro. Para isso uso o dialog, o mesmo abre porem ao salvar da a seguinte mensagem e nao consigo resolver o problema
08/08/2012 00:14:12 javax.faces.event.MethodExpressionActionListener processAction
SEVERE: 'java.lang.NullPointerException' recebido ao invocar escuta de ação '#{usuarioBean.salvar}' para o componente 'j_idt66'
08/08/2012 00:14:12 javax.faces.event.MethodExpressionActionListener processAction
SEVERE: java.lang.NullPointerException
at br.net.sores.bean.UsuarioBean.salvar(UsuarioBean.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:84)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:773)
at javax.faces.component.UICommand.broadcast(UICommand.java:296)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.net.sores.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
08/08/2012 00:14:12 com.sun.faces.context.AjaxExceptionHandlerImpl log
SEVERE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=formBotao:j_idt66, Message=java.lang.NullPointerException
08/08/2012 00:14:12 com.sun.faces.context.AjaxExceptionHandlerImpl log
SEVERE: java.lang.NullPointerException
javax.faces.event.AbortProcessingException: java.lang.NullPointerException
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:178)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:84)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:773)
at javax.faces.component.UICommand.broadcast(UICommand.java:296)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.net.sores.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at br.net.sores.bean.UsuarioBean.salvar(UsuarioBean.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
... 58 more
Abaixo segue a classe BEAN
package br.net.sores.bean;
import br.net.sores.model.Usuario;
import br.net.sores.model.UsuarioRN;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.springframework.util.DigestUtils;
/**
*
* @author William
*/
@ManagedBean(name="usuarioBean")
@RequestScoped
//@ViewScoped
public class UsuarioBean {
//private Usuario usuario = new Usuario();
private Usuario usuario;
private String confirmaSenha;
private List<Usuario> lista;
private String destinoSalvar;
private String senhaCriptografada;
private Usuario usuarioSelecionado=new Usuario();
public UsuarioBean(){
usuario=new Usuario();
}
public String novo(){
//this.setDestinoSalvar("operacaoSucesso");
this.usuario = new Usuario();
this.usuario.setAtivo(1);
return "";
}
public String editar(){
this.senhaCriptografada = this.usuario.getSenha();
//this.confirmaSenha=this.usuario.getSenha();
//usuarioSelecionado=new Usuario();
return "usuario";
}
public String salvar(){
FacesContext context = FacesContext.getCurrentInstance();
this.usuario=new Usuario();
String senha=this.usuario.getSenha();
if (senha != null && senha.trim().length() > 0 && !senha.equals((this.confirmaSenha))){
FacesMessage facesMessage = new FacesMessage("A senha nao foi confirmada corretamente");
context.addMessage(null, facesMessage);
return null;
}
if (senha != null && senha.trim().length() == 0) {
this.usuario.setSenha(this.senhaCriptografada);
} else {
String senhaCripto = DigestUtils.md5DigestAsHex(senha.getBytes());
this.usuario.setSenha(senhaCripto);
}
UsuarioRN usuarioRN = new UsuarioRN();
usuarioRN.salvar(this.usuario);
//this.setDestinoSalvar("operacaoSucesso");
//return this.destinoSalvar;
//this.mensagemOK();
return "";
}
public String excluir(){
UsuarioRN usuarioRN= new UsuarioRN();
usuarioRN.excluir(this.usuario);
this.lista=null;
return null;
}
public String ativar(){
if (this.usuario.getAtivo()==1)
this.usuario.setAtivo(0);
else
this.usuario.setAtivo(1);
UsuarioRN usuarioRN=new UsuarioRN();
usuarioRN.salvar(this.usuario);
return null;
}
public List<Usuario> getLista(){
if (this.lista == null)
{
UsuarioRN usuarioRN = new UsuarioRN();
this.lista = usuarioRN.listar();
}
return this.lista;
}
public String atribuiPermissao(Usuario usuario,String permissao){
this.usuario=usuario;
java.util.Set<String> permissoes = this.usuario.getPermissao();
if (permissoes.contains(permissao)){
permissoes.remove(permissao);
}else{
permissoes.add(permissao);
}
return null;
}
/**
* @return the usuario
*/
public Usuario getUsuario() {
return usuario;
}
/**
* @param usuario the usuario to set
*/
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
/**
* @return the confirmaSenha
*/
public String getConfirmaSenha() {
return confirmaSenha;
}
/**
* @param confirmaSenha the confirmaSenha to set
*/
public void setConfirmaSenha(String confirmaSenha) {
this.confirmaSenha = confirmaSenha;
}
/**
* @return the destinoSalvar
*/
public String getDestinoSalvar() {
return destinoSalvar;
}
/**
* @param destinoSalvar the destinoSalvar to set
*/
public void setDestinoSalvar(String destinoSalvar) {
this.destinoSalvar = destinoSalvar;
}
/**
* @return the senhaCriptografada
*/
public String getSenhaCriptografada() {
return senhaCriptografada;
}
/**
* @param senhaCriptografada the senhaCriptografada to set
*/
public void setSenhaCriptografada(String senhaCriptografada) {
this.senhaCriptografada = senhaCriptografada;
}
/**
* @return the usuarioSelecionado
*/
public Usuario getUsuarioSelecionado() {
return usuarioSelecionado;
}
public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
this.usuarioSelecionado = usuarioSelecionado;
}
/*public void mensagemOK(){
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Operacao realizada com sucesso!",""));
}*/
}
E agora a classe XHTML
<?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: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">
<ui:composition template="/templates/interno.xhtml">
<ui:define name="botao">
<h:form id="formBotao">
<p:commandLink action="#{usuarioBean.novo()}" title="Novo" oncomplete="usuarioDialogNovo.show();" update=":formBotao:displayNovo">
<h:graphicImage library="imagens" name="salvar.png" style="border:0;"/>
</p:commandLink>
<p:dialog header="Insercao de Usuario" widgetVar="usuarioDialogNovo" resizable="false" showEffect="explode" hideEffect="explode">
<h:inputHidden value="#{usuarioBean.usuario.id}"/>
<h:inputHidden value="#{usuarioBean.usuario.ativo}"/>
<h:panelGrid id="displayNovo" columns="2" cellpadding="4">
<h:outputLabel value="Login:" for="login"/>
<h:inputText id="nome" label="Login" value="#{usuarioBean.usuario.login}" required="true" size="15"
maxlength="15"
requiredMessage="Obrigatório campo login">
</h:inputText>
<h:outputLabel value="Senha:" for="senha"/>
<h:inputSecret id="senha" label="senha" value="#{usuarioBean.usuario.senha}" required="true" size="10" maxlength="10" redisplay="true"/>
<h:outputLabel value="Confirmar Senha:" for="confirmarSenha"/>
<h:inputSecret id="confirmarSenha" label="confirmarSenha" value="#{usuarioBean.confirmaSenha}" required="true" size="10" maxlength="10" redisplay="true"/>
<h:outputText/>
<p:commandLink actionListener="#{usuarioBean.salvar}" title="Salvar" update="displayNovo">
<h:graphicImage library="imagens" name="salvar.png" style="border:0;"/>
</p:commandLink>
</h:panelGrid>
</p:dialog>
</h:form>
</ui:define>
<ui:define name="corpo">
<h:form id="form" >
<p:dataTable
var="usuario"
value="#{usuarioBean.lista}"
rowKey="#{usuario.id}"
paginator="true"
rows="3"
selectionMode="single"
selection="#{usuarioBean.usuarioSelecionado}"
emptyMessage="Nenhum registro foi encontrado"
id="usuarioTable"
style="font-size: 12px;width: 70%;">
<p:ajax event="rowSelect" update=":form:displayAlterar" oncomplete="usuarioDialogAlterar.show()" />
<f:facet name="header">
<h:outputText value="Listagem de Usuarios"/>
</f:facet>
<p:column sortBy="#{usuario.id}" id="id">
<f:facet name="header">Id</f:facet>
<h:outputText value="#{usuario.id}" />
</p:column>
<p:column sortBy="#{usuario.login}" filterBy="#{usuario.login}" id="login">
<f:facet name="header">Login</f:facet>
<h:outputText value="#{usuario.login}" />
</p:column>
<p:column sortBy="#{usuario.permissao}" filterBy="#{usuario.permissao}" id="permissao">
<f:facet name="header">Permissao</f:facet>
<h:outputText value="#{usuario.permissao}" />
</p:column>
<p:column sortBy="#{usuario.ativo}" id="ativo">
<f:facet name="header">Ativo</f:facet>
<p:commandLink ajax="true" action="#{usuarioBean.ativar()}" update="@form" process="@this">
<h:graphicImage library="imagens" name="usuario_ativo_#{usuario.ativo}.png" style="border:0;"/>
<f:setPropertyActionListener value="#{usuario}" target="#{usuarioBean.usuario}"/>
</p:commandLink>
</p:column>
<p:column>
<f:facet name="header">Exclusao</f:facet>
<p:commandLink action="#{usuarioBean.excluir}"
onclick="if (!confirm('Confirma a exclusao do usuario #{usuario.login}?')) return false;"
update="@form" process="@this" ajax="true">
<h:graphicImage library="imagens" name="deletar.png" style="border:0"/>
<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}"/>
</p:commandLink>
</p:column>
</p:dataTable>
<p:dialog header="Alteracao de Usuario" widgetVar="usuarioDialogAlterar" resizable="false" showEffect="explode" hideEffect="explode">
<h:panelGrid id="displayAlterar" columns="2" cellpadding="4">
<h:outputText/>
<h:inputHidden value="#{usuarioBean.usuarioSelecionado.id}" id="idA" />
<h:outputText value="Login:" />
<h:inputText value="#{usuarioBean.usuarioSelecionado.login}" id="loginA"/>
<h:outputText value="Senha" />
<h:inputSecret value="#{usuarioBean.usuarioSelecionado.senha}" id="senhaA"/>
<h:commandLink actionListener="#{usuarioBean.salvar()}" >
<h:graphicImage library="imagens" name="salvar.png" style="border:0;"/>
</h:commandLink>
</h:panelGrid>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>
</html>