1
resposta

TabView

Boa tarde,

Estou tentando usar o componente TABVIEW do primefaces. Consegue montar o codigo para que somente aparece a opção da aba, caso o jogador já tenha sido salvo no banco.

No entanto, ao clicar na aba Contratos, nada é apresentado:

<ui:composition template="/resources/template/_layout.xhtml">
    <ui:define name="content">
        <p:tabView>
            <p:tab title="Cadastro">
                <h2>Cadastro de Jogadores</h2>
                <p:panelGrid columns="2"
                    columnClasses="ui-grid-col-2,ui-grid-col-10" layout="grid"
                    styleClass="ui-panelgrid-blank">
                    <h:form id="formJogador" enctype="multipart/form-data">
                        <h:messages />
                        <p:panelGrid columns="2">

                            <h:outputLabel value="Nome Completo:" for="itJogador" />
                            <p:inputText id="itJogador"
                                value="#{jogadorBean.jogador.nomeJogador}" />

                            <h:outputLabel value="Apelido:" for="itApelido" />
                            <p:inputText id="itApelido"
                                value="#{jogadorBean.jogador.apelido}" />

                            <h:outputLabel value="Data de Nascimento" />
                            <p:calendar locale="pt" id="data"
                                value="#{jogadorBean.jogador.dataNascimento.time}"
                                pattern="dd/MM/yyyy" mask="true" />

                            <h:outputLabel value="Estado:" for="soEstado" />
                            <p:selectOneMenu id="soEstado"
                                value="#{estadoProducer.estadoSelecionado}" required="true"
                                requiredMessage="Estado obrigatório" style="width:250px">
                                <p:ajax listener="#{estadoProducer.onEstadoChange}"
                                    update="soCidade" />
                                <f:selectItem itemLabel="Selecione" itemValue=""
                                    noSelectionOption="true" />
                                <f:selectItems value="#{estadoProducer.estados}" var="uf"
                                    itemLabel="#{uf.nome}" itemValue="#{uf}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="Cidade:" for="soCidade" />
                            <p:selectOneMenu id="soCidade"
                                value="#{jogadorBean.jogador.naturalidade}"
                                converter="cidadeConverter" required="true"
                                requiredMessage="Cidade obrigatório">
                                <f:selectItem itemLabel="Selecione" itemValue=""
                                    noSelectionOption="true" />
                                <f:selectItems value="#{estadoProducer.cidades}" var="cid"
                                    itemValue="#{cid}" itemLabel="#{cid.nome}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="Pé:" for="soPE" />
                            <p:selectOneMenu id="soPE"
                                value="#{jogadorBean.jogador.destresa}">
                                <f:selectItem itemLabel="Selecione" itemValue=""
                                    noSelectionOption="true" />
                                <f:selectItems value="#{jogadorBean.destresas}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="Posição:" for="soPosicao" />
                            <p:selectOneMenu id="soPosicao"
                                value="#{jogadorBean.jogador.posicaoPrimaria}">
                                <f:selectItem itemLabel="Selecione" itemValue=""
                                    noSelectionOption="true" />
                                <f:selectItems value="#{jogadorBean.posicoes}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="Posição Secundária:" for="soPosicaoSec" />
                            <p:selectOneMenu id="soPosicaoSec"
                                value="#{jogadorBean.jogador.posicaoSecundaria}">
                                <f:selectItem itemLabel="Selecione" itemValue=""
                                    noSelectionOption="true" />
                                <f:selectItems value="#{jogadorBean.posicoes}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="Foto" />
                            <h:inputFile value="#{jogadorBean.foto}" id="foto" />

                        </p:panelGrid>
                        <h:commandButton value="Salvar" action="#{jogadorBean.salvar}" />
                    </h:form>
                </p:panelGrid>
            </p:tab>
            <p:tab title="Contratos" id="contrato" rendered="#{jogadorBean.jogador.idJogador ne null}">
                <p:panelGrid columns="2">
                    <h2>Cadastro de contratos</h2>
                    <h:form>
                        <h:dataTable class="tabela" rowClasses="primeira,segunda"
                            var="jogador" value="#{jogadorBean.jogadores}">
                            <h:column>
                                <f:facet name="header">Nome</f:facet>
                                #{jogador.apelido}
                            </h:column>
                        </h:dataTable>
                    </h:form>
                </p:panelGrid>
            </p:tab>
        </p:tabView>
    </ui:define>
</ui:composition>

O que está ficando para trás?

1 resposta

Olá Guilherme tudo bem?

Em que momento você está preenchendo jogadorBean.jogador?