Olá Senhores!
Estou com um pequeno problema aqui. Tenha uma página utilizando tabs. Para cada Tab faço um include para uma página que contém o conteúo da Tab, como mostrado no código:
<f:view>
<a4j:form>
<rich:tabPanel>
<rich:tab label="Análise de Votos por Cidade" rendered="#{userBean.showTab['1']}">
<jsp:include page="/faces/cityAnalisys.jsp" />
</rich:tab>
</rich:tabPanel>
</a4j:form>
</f:view>
Nesse caso, o códig da página cityAnalisys.jsp é o seguinte:
<body>
<a4j:outputPanel ajaxRendered="true">
<rich:panel header="Localidade">
<h:panelGrid columns="5">
<h:outputLabel for="state" value="Estado:" />
<h:selectOneMenu id="state" value="#{cityBean.state}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItems value="#{stateBean.abbreviations}" />
<a4j:support event="onchange" ajaxSingle="true"
action="#{cityBean.changeState}" reRender="state, cityName" />
</h:selectOneMenu>
<h:outputLabel for="cityName" value="Cidade:" />
<h:selectOneMenu id="cityName" value="#{cityBean.name}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItems value="#{cityBean.allForState}" />
<a4j:support event="onchange" ajaxSingle="true"
action="#{cityBean.changeCity}" reRender="cityName,cityData,electionsData" />
</h:selectOneMenu>
<!-- <a4j:commandButton value="Visualizar" /> -->
</h:panelGrid>
</rich:panel>
</a4j:outputPanel>
</body>
Desse jeito, código ajax para atualizar a lista de cidades não funciona. Entretanto, se eu remover o atributo rendered da primeira página, o código funciona normalmente. Alguém saberia me explicar por que isso acontece e, se possível, como solucionar esse problema?
Grato.