Por favor me ajudem!
Tenho o seguinte problema…
tenho uma página xhtml que lista dados do banco usando uma dataTable richFaces. até ai tudo bem… funciona perfeito. ao lado de cada item da lista tem um a4j:commandButton chamado alterar que ao ser clicado recupera os dados do camarada pelo “id” e abre um Modal panel que deveria ser carregado com esses dados, mas isso não está acontecendo, ele abre o modal panel com os “inputText” vazios… Eis aqui o código:
minha xhtml que contém a dataTable e o modalPanel
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<head>
<title>::.Lista de clientes Cadastrados</title>
</head>
<body>
<ui:include src="./includes/menusuperior.xhtml" />
<a4j:form>
<rich:dataTable id="tbclientes" value="#{actionClientes.listaClientes}"
var="item" rows="10" style="width: 100%;"
binding="#{actionClientes.table}">
<f:facet name="header">
<h:outputText value="Lista de Clientes" />
</f:facet>
<rich:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{item.nome}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Endereço" />
</f:facet>
<h:outputText value="#{item.endereco}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Bairro" />
</f:facet>
<h:outputText value="#{item.bairro}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Cidade" />
</f:facet>
<h:outputText value="#{item.cidade}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Uf" />
</f:facet>
<h:outputText value="#{item.uf}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Alterar" />
</f:facet>
<a4j:commandButton image="imagens/alterar_cliente.png"
alt="Alterar dados do cliente"
onclick="Richfaces.showModalPanel('panelCliente');"
action="#{actionClientes.recuperaCliente}">
<f:param id="idAlterar" name="idAlterar" value="#{item.codCliente}" />
</a4j:commandButton>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Excluir" />
</f:facet>
<h:commandButton image="imagens/delete.png"
alt="Excluir cadastro do cliente"
action="#{actionClientes.excluirCliente}">
<f:param id="id" name="id" value="#{item.codCliente}" />
</h:commandButton>
</rich:column>
</rich:dataTable>
<rich:datascroller align="left" for="tbclientes" />
</a4j:form>
<h:messages showDetail="false" showSummary="true" layout="table"
infoStyle="color:blue; font-family:verdana; font-size:11px;" />
<!-- Modal Panel para alteração dos dados do cliente -->
<a4j:form>
<rich:modalPanel id="panelCliente" width="700" height="400">
<f:facet name="header">
<h:outputText value="Alteração Cadastral" />
</f:facet>
<f:facet name="controls">
<h:graphicImage value="/imagens/close.png"
onclick="Richfaces.hideModalPanel('panelCliente')" />
</f:facet>
<h:panelGrid columns="4" id="alterar" value="" var="">
<h:column>
<h:outputText value="Nome:" />
</h:column>
<h:column>
<h:inputText value="#{item.nome}" required="true"
requiredMessage="Preencha o campo Nome" size="40" />
</h:column>
<h:column>
<h:outputText value="Endereço:" />
</h:column>
<h:column>
<h:inputText value="#{item.endereco}" size="40" />
</h:column>
<h:column>
<h:outputText value="Bairro:" />
</h:column>
<h:column>
<h:inputText value="#{item.bairro}" />
</h:column>
<h:column>
<h:outputText value="Cidade:" />
</h:column>
<h:column>
<h:inputText value="#{item.cidade}" />
</h:column>
<h:column>
<h:outputText value="UF:" />
</h:column>
<h:column>
<h:inputText value="#{item.uf}" maxlength="2"
size="2" />
</h:column>
</h:panelGrid>
<a4j:commandButton value="Alterar" id="idAlterar"
action="#{actionClientes.atualizarClientes}">
</a4j:commandButton>
<rich:componentControl for="alterarCliente" attachTo="alterar"
operation="show" event="onclick" />
</rich:modalPanel>
</a4j:form>
<!-- Fim do modal panel -->
</body>
</html>
minha action com o método que recupera os dados
public Clientes recuperaCliente(){
Clientes beanCliente = null;
try {
beanCliente = (Clientes)((HttpServletRequest)
FacesContext.getCurrentInstance().getExternalContext().getRequest()).getAttribute("item");
BOCliente bo = new BOCliente();
beanCliente = bo.recuperaCliente(beanCliente);
} catch (Exception e) {
e.printStackTrace();
FacesContext.getCurrentInstance().addMessage("erro",
new FacesMessage("Falha ao recuperar registro do cliente!"));
}
return beanCliente;
}
já fiz o debug e meu bean tá chegando carregado direitinho…
Qualquer ajuda ficarei grato!!