Boa tarde pessoal,
Estou com um problema e gostaria de saber se alguém já passou por essa
situação ou sabe resolver:
Tenho uma página que é de procura, o usuário inseri a pesquisa e manda
procurar no BD se obter resultado uma tabela(richDataTable) será
exibida com o resultado encontrado. Até aí tudo bem uma pesquisa
normal, agora que vêm o problema nesta tabela tem um campo de ações
que contém dois links um editar e outro excluir para cada obketo
encontrado, estou terminando a parte da função editar que está
funcionando da seguinte maneira:
- Clicla no botao editar de uma linha ai ele pega aquele objeto que
foi selecionado e coloca na propriedade empresaSelecionada do tipo
Empresa do controlador de Bean(controllerEmpresa), e abre um
modalPanel exibindo os valores do objeto Empresa.
- Como a ação é editar eu faço uma alteração no nome da empresa e
mando o submit(actionListern), ai que estar o problema, o submit não
atualiza os valores do Bean Empresa para depois executar o metodo do
DAO(atualizarEmpresa), parece que ele executa o DAO primeiro e depois
seta o Bean ou não nem chega a seta o Bean.
Obs.: Estou usando o saveState para segura o objeto
empresaSelecionada.
Abaixo segue o meu JSF(somente a parte do modalPanel):
<!-- <MODAL PANEL> -->
<a4j:form id="form2" ajaxSingle="true">
<rich:modalPanel id="modalPanelEditar" width="500" height="200" >
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Editar Empresa"></h:outputText>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="../MyImgs/close.png" styleClass="hidelink"
id="hidelink" />
<rich:componentControl for="modalPanelEditar" attachTo="hidelink"
operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<rich:panel>
<h:panelGrid id="panelEditarEmp" cellspacing="10" columns="3">
<h:outputText styleClass="font_labels" value="ID da empresa: "></
h:outputText>
<h:inputText id="campoIdDaEmpresa" disabled="true"
value="#{empresaController.empresaSelecionada.idEmpresa}"
readonly="false" style="color: gray;" />
<h:message for="campoIdDaEmpresa"></h:message>
<h:outputText styleClass="font_labels" value="Nome da empresa:
"></h:outputText>
<h:inputText requiredMessage=" Preencha o campo!"
required="true" id="campoAtuEmpresa"
value="#{empresaController.empresaSelecionada.nomeDaEmpresa}"
size="40">
<f:validateLength maximum="35" minimum="1"></f:validateLength>
<f:validator validatorId="genericoValidadorDeString" />
</h:inputText>
<rich:spacer height="3" />
<h:messages tooltip="true" fatalClass="font_erro"
warnClass="font_warning" errorClass="font_erro"
infoClass="font_info">
</h:messages>
<br />
<rich:spacer height="3" />
<rich:spacer height="3" />
<a4j:commandButton value="Atualizar" actionListener="#
{empresaController.atualizarEmpresa }" >
<a4j:support event="onclink" reRender="saidaTeste"></
a4j:support>
</a4j:commandButton>
<rich:spacer height="3" />
</h:panelGrid>
</rich:panel>
<h:outputText id="saidaTeste" value="#
{empresaController.empresaSelecionada.nomeDaEmpresa}" />
</rich:modalPanel>
</a4j:form>
<!-- </MODAL PANEL> -->