[RESOLVIDO]Bean não esta executando

Pessoal, Criei um Bean abaixo:

@ManagedBean
@ViewScoped
public class TblusuMbean extends ManagedBeanGenerico<Tblusu, TblusuServico> implements Serializable {
    
    @EJB
    private TblusuServico servico;
    
     public void verificausuario() {
         System.out.print("teste");
         
     }

    
    
}

view:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                template="../template/Template.xhtml">
    
    <ui:param name="mbean" value="#{tabprodMbean}" />    

    <ui:define name="header">
        
    </ui:define>

    <ui:define name="subheader">
        
    </ui:define>

    <ui:define name="indexLeftColumn">
        
    </ui:define>

    <ui:define name="indexRightColumn">
        
        <h:form>  
            
            
                <p:panel style="left:100px; width:400px;height:200px;">
                    <f:facet name="header">
			  <h:outputText value="#{msg.login_titulo}" />
		     </f:facet>       
                    
                    
                        <h:panelGrid columns="3" styleClass="center-table" >                            
                            <h:outputText value="#{msg.login_usuario_login}:" />
                            <p:inputText id="#{msg.login_usuario_login}" value="" />  
                            
                            <p:message for="#{msg.login_usuario_login}" styleClass="mensagem-validacao" />
                            
                            <h:outputText value="#{msg.login_usuario_senha}:" />                            
                            
                            <p:password value=""
					required="true" id="#{msg.login_usuario_senha}" label="#{msg.login_usuario_senha}" />
                            
                                        
                             <p:message for="#{msg.login_usuario_senha}" styleClass="mensagem-validacao" />                            
                                        
                             <p:commandButton id="btnEnviar" value="Enviar" style="height: 30px; width: 100px; text-align:center;" actionListener="#{tabprodMbean.verificausuario()}"/>                        
        		</h:panelGrid>

                </p:panel>                                   
        </h:form>  
        
    </ui:define>
</ui:composition>

ele nao executa o Print “teste”

Alguem pode me ajudar ??

Você está chamando o método de outro ManagedBean.

tentei colocar assim :


                             <p:commandButton id="btnEnviar" value="Enviar" style="height: 30px; width: 100px; text-align:center;" actionListener="#{TblusuMbean.verificausuario()}"/>                        

mesmo assim nao chamou ele

É porque esse não é o nome dele.

Por padrão o nome do ManagedBean é o nome da classe com a primeira letra em minúsculo. Se seu ManagedBean for assim:@ManagedBean @RequestScoped public class ProdutoMB implements Serializable { ... a EL para referenciá-lo será #{produtoMB}

Sua IDE não auto-completa isso pra você?

fiz dessa forma Rodrigo :

<p:commandButton id="btnEnviar1" value="Enviar" style="height: 30px; width: 100px;" actionListener="#{tblusuMbean.verificausuario()}"/>                        

mesmo assim nao chama o metodo, teria que mexer no meu metodo tb ??

     public void verificausuario() {
         System.out.print("teste");
         
     }

Não, mas lembre-se que isso aí será impresso no console do seu Container.

O método está sendo chamado? você chegou a verificar isso com um depurador ou algo do tipo?

Rodrigo, verifiquei no console e nao imprimiu nada “teste” , e coloquei um breakpoint na linha do System.out.print(“teste”); e ele nao passa por essa linha .

Rodrigo,

tentei fazer dessa forma

mudei para jsf

      <h:commandButton value="Enviar" action="#{tblusuMbean.verificausuario}" />
    <p:inputText id="#{msg.login_usuario_login}" value="#{tblusuMbean.obj.usunome}" />  
                            
                            <p:message for="#{msg.login_usuario_login}" styleClass="mensagem-validacao" />
                            
                            <p:password 
                                        required="true" id="#{msg.login_usuario_senha}" label="#{msg.login_usuario_senha}" value="#{tblusuMbean.obj.ususenha}" />
                            
                                        
                             <p:message for="#{msg.login_usuario_senha}" styleClass="mensagem-validacao" />                            
                                        
                            
                             <h:commandButton value="Enviar" action="#{tblusuMbean.verificausuario}" />

agora esta dando o erro abaixo :

javax.el.PropertyNotFoundException: /pages/index.xhtml @37,111 value="#{tblusuMbean.obj.usunome}": Target Unreachable, ‘null’ returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
at org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190)
at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
at javax.faces.component.UIInput.validate(UIInput.java:960)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at org.primefaces.component.panel.Panel.processValidators(Panel.java:293)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)

e estou digitando valor no user e senha .

Mude o nome da sua classe de TblusuMbean para TBlusuMbean e utilize na referencia da view #{tBlusuMbean.verifica…}

max, desculpa a minha falta de conhecimento, mas pq fazer isso ??

para corrigir o erro, instancie o objeto.

mas o problema nao é na view ??

esse log de erros que você mandou está reclamando do objeto que está nulo, instancie ele.

É um padrão.
Assim como há padrão para os métodos get e set.

Poste o commandButton o qual você está utilizando para chamar o método e poste também o cabeçalho do seu manageBean(Importações + Anotações + declaração da classe) e o método que você está chamando na View :slight_smile:

pessoal, consegui resolver da seguinte forma :


no bean 
    private Tblusu obj1 = new Tblusu();

na view 

<p:inputText id="#{msg.login_usuario_login}" value="#{tblusuMbean.obj1.usunome}" />