[RESOLVIDO] Problema com Rich Faces - formulário sendo apagado sozinho
2 respostas
H
Hericksnake
Seguinte pessoal.
Tô desenvolvendo uma tela com Richfaces e JSF e me deparei com o seguinte problema.
Nessa tela, tenho o Painel geral e dentro dele um TabPanel (painel com abas).
Por enquanto, só estou utilizando a primeira aba.
Nesta aba, eu coloquei um panelGrid pra manter a organização dos dados.
Adicionei vario campos de entrada de dados para o meu BackingBean, campos input e selectOneMenu.
Eu fechei o meu Panel Grid, abaixo adicionei um Rich Data Table e um botão para adicionar dados nessa tabela.
Quando eu clico nesse botão para adicionar os dados eu abro um Modal Pane para inserir os dados que serão colocados na tabela, porém, todo o conteúdo que estava preenchido nos meus inputs são apagados.
Vou colocar o código pra alguém testar se quiser.
Lembrando que, meu Backing Bean funciona perfeitamente.
Se após preencher a tabela eu re-entrar com os dados no formulário, o Backing Bean é populado corretamente.
<?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"><htmlxmlns="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:a4j="http://richfaces.org/a4j"xmlns:rich="http://richfaces.org/rich"><ui:compositiontemplate="./layout.xhtml"><ui:definename="esquerda"><br/></ui:define><ui:definename="conteudo"><a4j:keepAlivebeanName="auxilioMB"ajaxOnly="true"/><h:form><scripttype="text/javascript">varrow;</script><a4j:region><rich:panel><f:facetname="header"><h:outputTextvalue="Auxílio"/></f:facet><rich:tabPanelswitchType="client"><!-- TAB 1 ###################################--><rich:tablabel="First"><h:form><h:panelGridcolumns="1"><a4j:outputPanelajaxRendered="true"><h:panelGridcolumns="4"><h:outputTextvalue="Nº Processo Entidade"/><h:inputTextvalue="#{auxilioMB.auxilio.protocolo}"id="processo"/><h:outputTextvalue=""/><h:outputTextvalue=""/><h:outputTextvalue="Entidade Financiadora"/><h:selectOneMenuvalue="#{auxilioMB.financiador}"converter="Converter"required="true"id="entidade"><f:selectItemsvalue="#{auxilioMB.listaFinanciadorCombo}"/></h:selectOneMenu><h:outputTextvalue=""/><h:outputTextvalue=""/><h:outputTextvalue="Início Auxílio"/><rich:calendardatePattern="dd/MM/yyyy"required="false"value="#{auxilioMB.auxilio.dataInicial}"/><h:outputTextvalue="Término Auxílio"/><rich:calendardatePattern="dd/MM/yyyy"required="false"value="#{auxilioMB.auxilio.dataFinal}"/></h:panelGrid><rich:dataTableid="tabela"value="#{auxilioMB.listaAlineaBean}"rowClasses="linha1, linha2"var="n"rows="10"columns="2"rowKeyVar="row"reRender="datascroller"width="100%"><f:facetname="header"><h:outputTextvalue="Alíneas"/></f:facet><rich:columnsortBy="#{n.descricao}"sortOrder="ASCENDING"width="300px"><f:facetname="header"><h:outputTextvalue="Descrição"/></f:facet><h:outputTextvalue="#{n.descricao}"id="nome"/><f:facetname="footer"><h:panelGrid><h:outputTextvalue="Valor Total R$"id="nomeFooter"/><h:outputTextvalue="Valor Total U$"id="nomeFooter2"/></h:panelGrid></f:facet></rich:column><rich:column><f:facetname="header"><h:outputTextvalue="Valor"/></f:facet><h:outputTextvalue="#{n.verbaAprovada}"id="valor"><f:convertNumberpattern="###,###,##0.00"/></h:outputText><f:facetname="footer"><h:panelGrid><h:outputTextvalue="#{auxilioMB.totalReal}"id="valorFooter"><f:convertNumberpattern="###,###,##0.00"/></h:outputText><h:outputTextvalue="U$ 000000,00"id="valorFooter2"/></h:panelGrid></f:facet></rich:column><f:facetname="footer"><rich:columnGroup><rich:columncolspan="1"><rich:datascrollerid="datascroller"renderIfSinglePage="false"/></rich:column><rich:column><a4j:commandLinkajaxSingle="true"id="addlink"oncomplete="#{rich:component('editPanel')}.show()"action="#{auxilioMB.prepareAdicionar}"immediate="true"><h:graphicImagevalue="/images/icons/add1.png"style="border:0"/></a4j:commandLink><rich:toolTipfor="addlink"value="Add"/></rich:column></rich:columnGroup></f:facet></rich:dataTable><h:panelGridcolumns="4"><h:outputTextvalue="Observações"/><h:inputTextvalue="#{auxilioMB.auxilio.observacoes}"id="observacao"size="100"maxlength="250"/></h:panelGrid></a4j:outputPanel></h:panelGrid><a4j:commandButtonvalue="Cadastrar"action="#{auxilioMB.cadastraAuxilio}"status="a4jwaitstatus"/></h:form></rich:tab><!-- TAB 2 ###################################--><rich:tablabel="Second">
Here is tab #2
</rich:tab><!-- TAB 3 ###################################--><rich:tablabel="Third">
Here is tab #3
</rich:tab></rich:tabPanel></rich:panel></a4j:region></h:form><a4j:outputPanelajaxRendered="true"><!-- ################################### --><!-- bloco de edição --><rich:modalPanelid="editPanel"autosized="true"width="450"><f:facetname="header"><h:outputTextvalue="Editar Registro"/></f:facet><f:facetname="controls"><h:panelGroup><h:graphicImagevalue="/images/close.png"id="hidelink2"styleClass="hidelink"/><rich:componentControlfor="editPanel"attachTo="hidelink2"operation="hide"event="onclick"/></h:panelGroup></f:facet><h:form><rich:messagesstyle="color:red;"></rich:messages><h:panelGridcolumns="1"><a4j:outputPanelajaxRendered="true"><h:panelGridcolumns="3"><h:outputTextvalue="Alínea"/><h:selectOneMenuvalue="#{auxilioMB.alineaBean.descricao}"converter="Converter"required="true"id="alinea"><f:selectItemsvalue="#{auxilioMB.listaAlineasCombo}"/></h:selectOneMenu><rich:messagefor="alinea"/><h:outputTextvalue="Valor"/><h:inputTextvalue="#{auxilioMB.alineaBean.verbaAprovada}"id="valor"><f:convertNumberpattern="#,###,##0.00"maxFractionDigits="2"/></h:inputText><rich:messagefor="valor"/></h:panelGrid></a4j:outputPanel><a4j:commandButtonvalue="Editar"action="#{auxilioMB.editar}"reRender="tabela"oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('editPanel')}.hide();"rendered="#{auxilioMB.editarState}"status="a4jwaitstatus"/><a4j:commandButtonvalue="Adicionar"action="#{auxilioMB.adicionaAlinea}"reRender="tabela"oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('editPanel')}.hide();"rendered="#{auxilioMB.adicionarState}"status="a4jwaitstatus"/></h:panelGrid></h:form></rich:modalPanel><!-- ################################### --><!-- ################################### --><!-- bloco de exclusão --><!-- ################################### --></a4j:outputPanel><a4j:statusid="a4jwaitstatus"onstart="#{rich:component('wait')}.show()"onstop="#{rich:component('wait')}.hide()"forceId="true"/><rich:modalPanelid="wait"autosized="true"width="200"height="120"moveable="false"resizeable="false"><f:facetname="header"><h:outputTextvalue="Processando"/></f:facet><h:outputTextvalue="Por favor aguarde..."/></rich:modalPanel><rich:messages></rich:messages></ui:define><ui:definename="direita"><a4j:form><divid="atualizar">
//...
</div></a4j:form></ui:define></ui:composition></html>
H
Hericksnake
Resolvido,
foi só setar para “False” o atributo ajaxSingle=“true” do a4j:commandLink.