Gravar Novo Registro - Primefaces

4 respostas
W

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&oacute;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>

4 Respostas

Hebert_Coelho

Na boa? Evita colocar esse monte de código. Dá até desanimo de ler… =/

Não precisa ficar com medo de ler a mensagem de erro. Ela apontou nullpointer na linha:
at br.net.sores.bean.UsuarioBean.salvar(UsuarioBean.java:60)

Tem algum cara nessa linha que está null. Quem é? [=

W

Oi jakefrog blz,entao tinha visto que o problema e na hora de enviar os dados ao Salvar, pelo que vi eu preencho os campos clico no botao pra salvar mas nao vai dado nenhum, tudo fica em branco, nao to sabendo como resolver essa passagem dos dados que foram digitados para a execucao do metodo

ErickRAR

O problema é que você está instanciando um novo usuário dentro do método salvar e ainda verificando a senha de uma variável local. São valores novos, não são os mesmos que estão sendo digitados pelo usuario. O certo é instanciar fora do método(num método com anotação @PostConstruct por exemplo) e no método só fazer o que o método deve fazer.

W

ErickRAR, vlws mesmoooo , nem precisei usar o @PostConstruct, so tirei a linha que instanciava a classe usuario de dentro do metodo SALVAR dai funcionou.

Criado 7 de agosto de 2012
Ultima resposta 19 de ago. de 2012
Respostas 4
Participantes 3