[RESOLVIDO]Problemas com PrimeFaces - Wizard

Boa tarde pessoal. Bom, estou fazendo um sistema para faculdade, e estou usando jsf com prime faces, até ai tudo bem, fiz toda as telas bonitinhas … ok, porém, estou tentando fazer um wizard do primefaces para cadastrar meu cliente. A tela renderiza certinho, porém, após escolher ( ou não) meu tipo de cliente (fisico ou juridico), não consigo ir para a proxima aba do cadastro. Clico no botao “proximo”, porém nao acontece nada. Testei nas versoes 3.4 e 3.4.1

Segue os codigos:

Tela do cadastro

<ui:composition template="../comum/template.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">

    <ui:define name="conteudo">
        <div id="conteudo">
            <h:form>   
                <p:wizard widgetVar="wiz" flowListener="#{wizard.onFlowProcess}" 
                          nextLabel="Proximo" backLabel="Voltar" style="width: 600px;">  

                    <!-- Painel para definir tipo de cadastro -->
                    <p:tab id="tipoTab" title="Tipo">  
                        <p:panel header="Tipo de Cadastro">  

                            <h:messages />  

                            <h:panelGrid columns="2">  
                                <h:outputText value="Tipo de Cadastro: *" />  
                                <p:selectOneRadio id="radioOpcoes" value="#{wizard.cliente.tipo}">  
                                    <f:selectItem itemLabel="Cliente Fisico" itemValue="1" /><br />
                                    <f:selectItem itemLabel="Cliente Juridico" itemValue="2" />  
                                </p:selectOneRadio> 
                            </h:panelGrid>  
                        </p:panel>  
                    </p:tab>

                    <p:tab id="dadosTab" title="Dados">  
                        <p:panel header="Tipo de Cadastro Fisico"> 
                            
                            <h:messages errorClass="error"/>
                            
                            <h:panelGrid columns="2">  
                                <h:outputText value="Nome : *" />  
                                <p:inputText value="#{wizard.cliente.clienteFisico.nome}" />
                                <h:outputText value="RG : *" />  
                                <p:inputText value="#{wizard.cliente.clienteFisico.rg}" />
                                <h:outputText value="CPF : *" />  
                                <p:inputText value="#{wizard.cliente.clienteFisico.cpf}" />
                                <h:outputText value="Data Nascimento : *" />
                                <p:calendar value="#{wizard.cliente.clienteFisico.dataNascimento}" showButtonPanel="true"/>
                            </h:panelGrid>  
                        </p:panel>  
                    </p:tab>  

                </p:wizard>  

            </h:form>  
        </div>
    </ui:define>
</ui:composition>

Bean do wizard:


package br.com.beans;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.primefaces.event.FlowEvent;



@ManagedBean
public class Wizard {  
    
    private Cliente cliente = new Cliente();
      
    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

      
    public void save(ActionEvent actionEvent) {  
        //Persist user  
        FacesMessage msg = new FacesMessage("Successful", "Welcome tipo :" + cliente.getTipo());  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  

      
    public String onFlowProcess(FlowEvent event) {  
     System.out.println("Current wizard step:" + event.getOldStep()); 
     System.out.println("Next step:" + event.getNewStep()); 
 
            return event.getNewStep();  
    }
    
} 

Pagina de template que estou usando:

<?xml version='1.0' encoding='UTF-8' ?> 
<!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:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        <ui:insert name="head">
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <h:outputStylesheet library="css" name="estilo.css" />
            <title>Sistemas de Informação, 6º Período - Sistema de Cadastro e Vendas</title>
        </ui:insert>
    </h:head>

    <h:body>
        <ui:insert name="topo">
            <div id="topo">
                <h1>Sistema de Cadastro e Vendas</h1>
            </div>
        </ui:insert>

        <ui:insert name="menu">
            <div id="menu">
                <h:form>    
                    <p:slideMenu style="width:180px;height:170px;">  
                        <p:menuitem value="Pagina Inicial" icon="ui-icon-home" />
                        <p:separator /> 
                        <p:submenu label="Produtos" icon="ui-icon-cart" >  
                            <p:menuitem value="Cadastrar" icon="ui-icon-circle-plus" />
                            <p:menuitem value="Consultar" icon="ui-icon-search" />
                            <p:menuitem value="Editar" icon="ui-icon-pencil" />
                        </p:submenu>  
                        <p:separator />  
                        <p:submenu label="Cliente" icon="ui-icon-person" >  
                            <p:menuitem value="Cadastrar" action="#{forward.forwardCadastrarCliente()}" icon="ui-icon-circle-plus" />
                            <p:menuitem value="Consultar" icon="ui-icon-search" />
                            <p:menuitem value="Editar" icon="ui-icon-pencil" />
                        </p:submenu> 
                        <p:separator />
                        <p:submenu label="Vendas" icon="ui-icon-circle-triangle-e" >  
                            <p:menuitem value="Cadastrar" icon="ui-icon-circle-plus" />
                            <p:menuitem value="Consultar" icon="ui-icon-search" />
                            <p:menuitem value="Editar" icon="ui-icon-pencil" />
                        </p:submenu> 
                        <p:separator />
                        <p:submenu label="Sobre" icon="ui-icon-lightbulb">  
                            <p:menuitem value="O Grupo" icon="ui-icon-flag" />
                            <p:menuitem value="Contato" icon="ui-icon-mail-closed" />
                        </p:submenu>
                    </p:slideMenu>  
                </h:form>  
            </div>
        </ui:insert>


        <ui:insert name="conteudo">
        </ui:insert>


        <ui:insert name="rodape">
            <div id="rodape">
                <h5>Sistemas de Informação, 6º Período - Sistema de Cadastro e Vendas</h5>
            </div>
        </ui:insert>


    </h:body>

</html>

Meu web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Production</param-value>
    </context-param>
    <context-param>  
        <param-name>primefaces.THEME</param-name>  
        <param-value>home</param-value>  
    </context-param>  
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>  
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
    
    <!-- Mapeamento de pagina de erro -->
    <error-page>
        <exception-type>java.lang.Exception</exception-type>
        <location>/error.xhtml</location>
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/error.xhtml</location>
    </error-page>
</web-app>

Obrigado :stuck_out_tongue:

se você não está conseguindo prosseguir é porque ele encontrou algum problema ao exibir a proxima tela
olhe o seu log e post aqui

att

Conforme coloquei para printar na tela

     System.out.println("Current wizard step:" + event.getOldStep()); 
     System.out.println("Next step:" + event.getNewStep()); 

a saida esta sendo a seguinte :

INFO: Current wizard step:null
INFO: Next step:
GRAVE: java.lang.NullPointerException

entao por alguma motivo ele nao esta conseguindo pegar o proximo.
Quando entro em modo debug ele até entra na proxima aba, porém nao renderiza nada, e também nao consegue voltar para a anterior.

Tente assim:

[code]@ManagedBean
public class Wizard {
private Cliente cliente;

 @PostConstruct
private void init() {  
    cliente = new Cliente();
}  

[/code]

[quote=ErickRAR]Tente assim:

[code]@ManagedBean
public class Wizard {
private Cliente cliente;

 @PostConstruct
private void init() {  
    cliente = new Cliente();
}  

[/code][/quote]

ola erick, alterei aqui, mas continua com problema, a saida esta aprontando que esta “vendo” qual é os proximos pelo menos, mas nao tem ação nenhuma

INFO: Current wizard step:tipoTab
INFO: Next step:dadosTab

[quote=feharaujo][quote=ErickRAR]Tente assim:

[code]@ManagedBean
public class Wizard {
private Cliente cliente;

 @PostConstruct
private void init() {  
    cliente = new Cliente();
}  

[/code][/quote]

ola erick, alterei aqui, mas continua com problema, a saida esta aprontando que esta “vendo” qual é os proximos pelo menos, mas nao tem ação nenhuma

INFO: Current wizard step:tipoTab INFO: Next step:dadosTab [/quote]

com as alterações do erick, limpei e construi o projeto denovo, limpei o cache do navegador e funcionou kkk

obrigado :wink: