|
|
Olá,
Você pode pegar o objeto selecionado da lista e colocar como atributo da request. Depois disso vc pega o objeto no outro MB.
2010/4/17 Mônica <monicabolsasr@xxxxxxxxx>
Olá feras,
Sou iniciante em JSF/RichFaces/Facelets e estou desenvolvendo uma aplicação onde tenho que passar, via manageBean, os dados de um objeto OperacaoHistorico, de uma rich:dataTable para uma popup. A popup deve retornar os dados deste objeto OperacaoHistorico e do objeto DetalheOperacaoHistorico que se associam por composição.
Quando rodo a aplicação e clico no botão para exibir a popup, ela se abre mas completamente em branco. Depois de correr muito atrás pesquisando nos fóruns e em apostilas não consegui passar deste ponto. Alguém pode me dar uma luz ??? Segue abaixo o código dos beans, da página que passa o bean OperacaoHistorico e chama o ManageBean, da popup que retorna OperacaoHistorico + DetalheOperacaoHistorico e do ManageBean.
Desde já agradeço e aguardo uma luz dos feras.
Bjus mil, Mônica.
============================ Classes POJO ============================
public class OperacaoHistorico implements IPojo {
private static final long serialVersionUID = 1L;
private int id; private String data; private String hora; private String origem; private String operacao; //campo texto. Não é o objeto operacao
//getters & setters
}
public class DetalheOperacaoHistorico implements IPojo {
private static final long serialVersionUID = 1L;
private OperacaoHistorico operacao;
private String registro; private PessoaFisica dadosAtuais; //Pojo PessoaFisica private PessoaFisica dadosAtualizados; //Pojo PessoaFisica
//getters & setters }
Segue abaixo os trechos de código da página que chama o ManageBean, da página que será a popup e do ManageBean.
============================ Página que chama o ManageBean ============================ <rich:dataTable value="#{pessoaFisicaMB.operacoes}" var="operacaoHistorico">
<f:facet name="header"> <rich:columnGroup> <rich:column><h:outputText value="Data"/></rich:column> <rich:column><h:outputText value="Hora"/></rich:column>
<rich:column><h:outputText value="Origem"/></rich:column> <rich:column><h:outputText value="Operação Realizada"/></rich:column>
<rich:column><h:outputText value="Detalhar"/></rich:column> </rich:columnGroup> </f:facet> <rich:column><h:outputText value="#{operacaoHistorico.data}"/></rich:column>
<rich:column><h:outputText value="#{operacaoHistorico.hora}"/></rich:column> <rich:column><h:outputText value="#{operacaoHistorico.origem}"/></rich:column>
<!-- atributo operacao = String-->
<rich:column><h:outputText value="#{operacaoHistorico.operacao}"/></rich:column>
<rich:column> <!-- botão que abre a popup--> <h:commandButton actionListener="#{pessoaFisicaMB.exibirDetalheHistorico}">
<f:param id="operacaoHistorico" name="operacaoHistorico" value="#{operacaoHistorico}"/><!-- passo o objeto operacaoHistorico-->
</h:commandButton> </rich:column> </rich:dataTable>
============================ Página que exibe a popup ============================ ... <div>
<div><h:outputLabel value="Origem:" for="" /></div> <div><h:outputText value="#{operacaoHistorico.origem}"/></div>
<div><h:outputLabel value="Data:" for="" /></div> <div><span><h:outputText value="#{operacaoHistorico.data}" /></span></div>
<div><h:outputLabel value="Operação:" for="" /></div> <div><span><h:outputText value="#{operacaoHistorico.operacao}" /></span></div>
<div><h:outputLabel value="Registro" for="" /></div> <div><h:outputText value="#{detalheOperacaoHistorico.registro}" /></div>
</div> <fieldset><legend>Dados após à operação</legend> <div>
<div><h:outputLabel value="Situação:" for="" /></div>
<div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.situacaoCpf}"/>
</div> <div><h:outputLabel value="Nome:" for="" /></div>
<div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.nome}"/>
</div> <div><h:outputLabel value="Nascimento" for="" /></div>
<div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.dataNasc}"/>
</div> <div><h:outputLabel value="Título:" for="" /></div> <div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.titulo}"/>
</div> <div><h:outputLabel value="Naturalidade:" for="" /></div>
<div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.natural}"/>
</div> <div><h:outputLabel value="Nome da mãe:" for="" /></div>
<div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtualizados.mae}"/>
</div> <div><h:outputLabel value="Endereço:" for="" /></div>
<div><h:outputText value=" #{detalheOperacaoHistorico.dadosAtualizados.endereco.logradouro}
#{detalheOperacaoHistorico.dadosAtualizados.endereco.numero} #{detalheOperacaoHistorico.dadosAtualizados.endereco.complem}
#{detalheOperacaoHistorico.dadosAtualizados.endereco.bairro} #{detalheOperacaoHistorico.dadosAtualizados.endereco.municipio}
#{detalheOperacaoHistorico.dadosAtualizados.endereco.siglaUF} #{detalheOperacaoHistorico.dadosAtualizados.endereco.cep}"/>
</div>
</div> </fieldset> <fieldset><legend>Dados antes da operação</legend>
<div>
<div><h:outputLabel value="Situação:" for=""> <div> <h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.situacaoCpf}"/>
</div> <div><h:outputLabel value="Nome:" for=""> <div><h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.nome}"/></div>
<div><h:outputLabel value="Nascimento" for="">
<div><h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.dataNasc}"/></div>
<div><h:outputLabel value="Título:" for="">
<div><h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.titulo}"/></div>
<div><h:outputLabel value="Naturalidade:" for="">
<div><h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.natural}"/></div>
<div><h:outputLabel value="Nome da mãe:" for=""> <div><h:outputText value="#{detalheOperacaoHistorico.dadosAtuais.mae}"/></div>
<div><h:outputLabel value="Endereço:" for="">
<div><h:outputText value=" #{detalheOperacaoHistorico.dadosAtuais.endereco.logradouro}
#{detalheOperacaoHistorico.dadosAtuais.endereco.numero}
#{detalheOperacaoHistorico.dadosAtuais.endereco.comple} #{detalheOperacaoHistorico.dadosAtuais.endereco.bairro}
#{detalheOperacaoHistorico.dadosAtuais.endereco.municipio}
#{detalheOperacaoHistorico.dadosAtuais.endereco.siglaUF} #{detalheOperacaoHistorico.dadosAtuais.endereco.cep}"/>
</div>
</div> </fieldset> ...
============================ ManageBean ============================ public class PessoaFisicaMB extends AbstractManagedBean {
@Injection private IPessoaFisicaBC pessoaFisicaBC;
... private OperacaoHistorico operacaoHistorico; private DetalheOperacaoHistorico detalheOperacaoHistorico; private HtmlTabPanel tabPanelCpf;
...
public void exibirDetalheHistorico(ActionEvent e){ UIComponent botao = e.getComponent(); UIParameter param = (UIParameter) botao.findComponent("operacaoHistorico");
OperacaoHistorico operacaoHistorico = (OperacaoHistorico)param.getValue(); detalheOperacaoHistorico = pessoaFisicaBC.exibirDetalheHistorico(operacaoHistorico);
FacesContext facesContext = FacesContext.getCurrentInstance();
final String exibeDetalheHistorico = facesContext.getExternalContext().getRequestContextPath() + "/private/pages/consultar_cpf_s1_aba2_hist.jsf";
ViewHandler viewHandler = facesContext.getApplication().getViewHandler();
String actionUrl = viewHandler.getActionURL(facesContext, exibeDetalheHistorico);
String _javascript_Text = "window.open('"+actionUrl+"','popupWindow','dependent=yes, menubar=yes,toolbar=yes,height=200,
width=200');";
AddResource addResource = AddResourceFactory.getInstance(facesContext); addResource.addInlineScriptAtPosition(facesContext,AddResource.HEADER_BEGIN, _javascript_Text);
}
... public HtmlTabPanel getTabPanelCpf() { return tabPanelCpf;
}
public void setTabPanelCpf(HtmlTabPanel tabPanelCpf) { this.tabPanelCpf = tabPanelCpf; } ...
}
--
http://groups.google.com/group/javasf
You received this message because you are subscribed to the Google
Groups "javasf: JavaServer Faces Group" group.
To post to this group, send email to javasf@xxxxxxxxxxxxxxxx
-- Thiago Alves de Moraes thiagoampj@xxxxxxxxx
--
http://groups.google.com/group/javasf
You received this message because you are subscribed to the Google
Groups "javasf: JavaServer Faces Group" group.
To post to this group, send email to javasf@xxxxxxxxxxxxxxxx
|
|