Problema com o Wizard do Primefaces

6 respostas
jaissonduarte

e ai pessoal estou com um problema com o Wizard
eu criei uma página para fazer um cadastro de documento ela funciona numa boa

<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.prime.com.tr/ui">

    <ui:composition template="./../../template.xhtml">
        <ui:define name="title">
            <h:outputText value="#{bundle.CreateDocumentoTitle}"></h:outputText>
        </ui:define>
        <ui:define name="content">
            <h:panelGroup id="messagePanel" layout="block">
                <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
            </h:panelGroup>
            <h:form>
                <h:panelGrid columns="2">
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_titulo}" for="titulo" />
                    <h:inputText id="titulo" value="#{documentoController.selected.titulo}" title="#{bundle.CreateDocumentoTitle_titulo}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_titulo}"/>
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_resumo}" for="resumo" />
                    <h:inputTextarea id="resumo" value="#{documentoController.selected.resumo}" title="#{bundle.CreateDocumentoTitle_resumo}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_resumo}" rows="8" cols="50"/>
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_tipo}" for="tipo" />
                    <h:selectOneMenu id="tipo" value="#{documentoController.selected.tipo}" title="#{bundle.EditDocumentoTitle_tipo}" required="true" requiredMessage="#{bundle.EditDocumentoRequiredMessage_tipo}">  
                        <f:selectItem itemValue="Artigo" itemLabel="Artigo"/>  
                        <f:selectItem itemValue="Aprendizagem" itemLabel="Aprendizagem"/>  
                        <f:selectItem itemValue="Relatório de Estágio" itemLabel="Relatório de Estágio"/>  
                        <f:selectItem itemValue="TCC" itemLabel="TCC"/>  
                    </h:selectOneMenu> 
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_ano}" for="ano" />
                    <h:inputText id="ano" value="#{documentoController.selected.ano}" title="#{bundle.CreateDocumentoTitle_ano}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_ano}"/>
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_codInstituicao}" for="codInstituicao" />
                    <h:selectOneMenu id="codInstituicao" value="#{documentoController.selected.codInstituicao}" title="#{bundle.CreateDocumentoTitle_codInstituicao}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_codInstituicao}">
                        <f:selectItems value="#{instituicaoController.itemsAvailableSelectOne}"/>
                    </h:selectOneMenu>
                    <h:outputLabel value="#{bundle.CreateDocumentoLabel_codCurso}" for="codCurso" />
                    <h:selectOneMenu id="codCurso" value="#{documentoController.selected.codCurso}" title="#{bundle.CreateDocumentoTitle_codCurso}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_codCurso}">
                        <f:selectItems value="#{cursoController.itemsAvailableSelectOne}"/>
                    </h:selectOneMenu>
                    <h:outputText value="Carregar Documento"/>
                    <p:fileUpload    label="Carregar" allowTypes="*.pdf;" description="Documento"  fileUploadListener="#{documentoController.fileUploadAction}" /> 

                </h:panelGrid>

                <h:commandButton action="#{documentoController.create}" value="#{bundle.CreateDocumentoSaveLink}" />
                <h:commandButton action="#{documentoController.prepareList}" value="#{bundle.CreateDocumentoShowAllLink}" immediate="true"/>
            </h:form>
        </ui:define>
    </ui:composition>

</html>

o problema é que eu coloquei ele no Wizard

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form>
            <p:wizard widgetVar="wiz">
                <p:tab title="Documento">
                    <p:panel header="Dados do Documento">
                        <h:panelGroup id="messagePanel" layout="block">
                            <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
                        </h:panelGroup>
                        <h:panelGrid columns="2">
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_titulo}" for="titulo" />
                            <h:inputText id="titulo" value="#{documentoController.selected.titulo}" title="#{bundle.CreateDocumentoTitle_titulo}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_titulo}"/>
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_resumo}" for="resumo" />
                            <h:inputTextarea id="resumo" value="#{documentoController.selected.resumo}" title="#{bundle.CreateDocumentoTitle_resumo}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_resumo}" rows="8" cols="50"/>
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_tipo}" for="tipo" />
                            <h:selectOneMenu id="tipo" value="#{documentoController.selected.tipo}" title="#{bundle.EditDocumentoTitle_tipo}" required="true" requiredMessage="#{bundle.EditDocumentoRequiredMessage_tipo}">  
                                <f:selectItem itemValue="Artigo" itemLabel="Artigo"/>  
                                <f:selectItem itemValue="Aprendizagem" itemLabel="Aprendizagem"/>  
                                <f:selectItem itemValue="Relatório de Estágio" itemLabel="Relatório de Estágio"/>  
                                <f:selectItem itemValue="TCC" itemLabel="TCC"/>  
                            </h:selectOneMenu> 
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_ano}" for="ano" />
                            <h:inputText id="ano" value="#{documentoController.selected.ano}" title="#{bundle.CreateDocumentoTitle_ano}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_ano}"/>
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_codInstituicao}" for="codInstituicao" />
                            <h:selectOneMenu id="codInstituicao" value="#{documentoController.selected.codInstituicao}" title="#{bundle.CreateDocumentoTitle_codInstituicao}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_codInstituicao}">
                                <f:selectItems value="#{instituicaoController.itemsAvailableSelectOne}"/>
                            </h:selectOneMenu>
                            <h:outputLabel value="#{bundle.CreateDocumentoLabel_codCurso}" for="codCurso" />
                            <h:selectOneMenu id="codCurso" value="#{documentoController.selected.codCurso}" title="#{bundle.CreateDocumentoTitle_codCurso}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_codCurso}">
                                <f:selectItems value="#{cursoController.itemsAvailableSelectOne}"/>
                            </h:selectOneMenu>
                        </h:panelGrid>
                    </p:panel>
                </p:tab>
                <p:tab title="Comfirmação">
                    <p:panel header="Comfirme os dados">
                        <h:panelGrid columns="2">
                            <h:outputText value="#{bundle.ViewDocumentoLabel_titulo}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.titulo}" title="#{bundle.ViewDocumentoTitle_titulo}"/>
                            <h:outputText value=" "/>
                            <h:outputText value=" "/>
                            <h:outputText value="#{bundle.ViewDocumentoLabel_resumo}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.resumo}" title="#{bundle.ViewDocumentoTitle_resumo}"/>
                            <h:outputText value=" "/>
                            <h:outputText value=" "/>
                            <h:outputText value="#{bundle.ViewDocumentoLabel_tipo}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.tipo}" title="#{bundle.ViewDocumentoTitle_tipo}"/>
                            <h:outputText value=" "/>
                            <h:outputText value=" "/>
                            <h:outputText value="#{bundle.ViewDocumentoLabel_ano}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.ano}" title="#{bundle.ViewDocumentoTitle_ano}"/>
                            <h:outputText value=" "/>
                            <h:outputText value=" "/>
                            <h:outputText value="#{bundle.ViewDocumentoLabel_codInstituicao}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.codInstituicao.nome}" title="#{bundle.ViewDocumentoTitle_codInstituicao}"/>
                            <h:outputText value=" "/>
                            <h:outputText value=" "/>
                            <h:outputText value="#{bundle.ViewDocumentoLabel_codCurso}" styleClass="texto"/>
                            <h:outputText value="#{documentoController.selected.codCurso.curso}" title="#{bundle.ViewDocumentoTitle_codCurso}"/>
                        </h:panelGrid>
                        <h:commandButton action="#{documentoController.create}" value="#{bundle.CreateDocumentoSaveLink}" />
                    </p:panel>
                </p:tab>
            </p:wizard>
        </h:form>
    </h:body>
</html>

mas ele não insere lá no navegador da esse erro

[list]O Tipo é Obrigatório.[/list]
[list]A Instituição é Obrigatório.[/list]
[list]O CodCurso é Obrigatório.[/list]
mas eu preenchi os campos
e mesmo assim por que ele não acusou erro com os outros campos?
e outra fiz um teste sem usar o flowListener e deu certo
por que esta dando esse erro

valeu

6 Respostas

jaissonduarte

pessoal achei o erro esta no

<h:selectOneMenu id="tipo" value="#{testeController.selected.tipo}" title="#{bundle.CreateTesteTitle_tipo}">  
                                <f:selectItem itemValue="Artigo" itemLabel="Artigo"/>  
                                <f:selectItem itemValue="Aprendizagem" itemLabel="Aprendizagem"/>  
                                <f:selectItem itemValue="Relatório de Estágio" itemLabel="Relatório de Estágio"/>  
                                <f:selectItem itemValue="TCC" itemLabel="TCC"/>  
                            </h:selectOneMenu>

como fazer uma caixa de combinação que o Wizard entenda ?

Hebert_Coelho

jaissonduarte:
pessoal achei o erro esta no

<h:selectOneMenu id="tipo" value="#{testeController.selected.tipo}" title="#{bundle.CreateTesteTitle_tipo}">  
                                <f:selectItem itemValue="Artigo" itemLabel="Artigo"/>  
                                <f:selectItem itemValue="Aprendizagem" itemLabel="Aprendizagem"/>  
                                <f:selectItem itemValue="Relatório de Estágio" itemLabel="Relatório de Estágio"/>  
                                <f:selectItem itemValue="TCC" itemLabel="TCC"/>  
                            </h:selectOneMenu>

como fazer uma caixa de combinação que o Wizard entenda ?


Tem alguma msg de erro?
testeController.selected.tipo esse tipo é uma String?

jaissonduarte

pior que não
nem no monitor (saída) do GlassFish
nem na saída do NetBeans só no navegador que da esse erro e obvio não adiciona no banco de dados
o testeController.selected.tipo
é uma String

Hebert_Coelho

jaissonduarte:
pior que não
nem no monitor (saída) do GlassFish
nem na saída do NetBeans só no navegador que da esse erro e obvio não adiciona no banco de dados
o testeController.selected.tipo
é uma String

Então como vc sabe que o erro está no combo?

jaissonduarte

por que quando eu tiro ele funciona numa boa

jaissonduarte

ressuscitando esse tópico para não criar um novo :smiley:

e ai pessoal seguinte tenho um formulário que funciona numa boa mas
é indispensável o uso do Wizard do Primefaces o problema é que quando eu seleciona uma selectonMenu do JSf
na hora de submeter da erro de:
[list]O Tipo é Obrigatório.[/list]
[list]A Instituição é Obrigatório.[/list]
[list]O CodCurso é Obrigatório.[/list]

Obs: esses erros dão porque esses campos são caixas de combinação
os campo de texto funcionam
o mai curioso é que na hora de submeter tem uma página que mostra todos os dados inseridos, e ele mostra, mas quando vai para salvar da esses erros (caixa de combinação)

<p:tab title="Confirmação"> <p:panel header="Confirme os dados"> <h:panelGrid columns="2"> <h:outputText value="#{bundle.ViewDocumentoLabel_titulo}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.titulo}" title="#{bundle.ViewDocumentoTitle_titulo}"/> <h:outputText value=" "/> <h:outputText value=" "/> <h:outputText value="#{bundle.ViewDocumentoLabel_resumo}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.resumo}" title="#{bundle.ViewDocumentoTitle_resumo}"/> <h:outputText value=" "/> <h:outputText value=" "/> <h:outputText value="#{bundle.ViewDocumentoLabel_tipo}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.tipo}" title="#{bundle.ViewDocumentoTitle_tipo}"/> <h:outputText value=" "/> <h:outputText value=" "/> <h:outputText value="#{bundle.ViewDocumentoLabel_ano}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.ano}" title="#{bundle.ViewDocumentoTitle_ano}"/> <h:outputText value=" "/> <h:outputText value=" "/> <h:outputText value="#{bundle.ViewDocumentoLabel_codInstituicao}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.codInstituicao.nome}" title="#{bundle.ViewDocumentoTitle_codInstituicao}"/> <h:outputText value=" "/> <h:outputText value=" "/> <h:outputText value="#{bundle.ViewDocumentoLabel_codCurso}" styleClass="texto"/> <h:outputText value="#{documentoController.selected.codCurso.curso}" title="#{bundle.ViewDocumentoTitle_codCurso}"/> </h:panelGrid> <h:commandButton action="#{documentoController.create}" value="#{bundle.CreateDocumentoSaveLink}" /> </p:panel> </p:tab>
não sei o que fazer o problema é que o Wizard não entende a :

<h:selectOneMenu id="codInstituicao" value="#{documentoController.selected.codInstituicao}" title="#{bundle.CreateDocumentoTitle_codInstituicao}" required="true" requiredMessage="#{bundle.CreateDocumentoRequiredMessage_codInstituicao}"> <f:selectItems value="#{instituicaoController.itemsAvailableSelectOne}"/> </h:selectOneMenu>
como resolver esse problema?

Criado 15 de dezembro de 2011
Ultima resposta 18 de dez. de 2011
Respostas 6
Participantes 2