Carregar dados em uma tela com view scoped
15/02/2012
0
Estou fazendo um cadastro de nota fiscal, para fazer esse cadastro utilizei o componente p:wizard do primefaces.
O escopo dessa tela de cadastro é @ViewScoped, e para efetuar o cadastro está funcionando certinho.
Meu problema ocorre quando tenho que efetuar a alteração de uma nota a partir de uma tela de listagem.
Tenho um dataTable que lista as notas cadastradas, e um link para o método do bean, segue código abaixo.
<p:column styleClass=tdEditar> <f:facet name=header> <h:outputText value=Editar /> </f:facet> <h:commandLink action=#{NotaFiscalCadastroBean.Editar} > <h:graphicImage url=../../comum/img/edit.png/> <f:setPropertyActionListener target=#{NotaFiscalCadastroBean.notaFiscal} value=#/> </h:commandLink> </p:column>
Como faço para carregar os dados que o usuário escolheu no dataTable ?
obs.: Já mudei o scope para Request, mas dai o componente p:wizard não funciona corretamente pois perde os dados ao passar de aba, tambem tentei usar o session, e dai o problema que ocorre é que ao tentar cadastrar uma nova nota fiscal o sistema abre a nota fiscal que estava sendo editada..
att
Daniel Everling
Posts
17/02/2012
Davi Costa
att Davi
17/02/2012
Daniel Everling
no xhtml fiz assim (passando parametros)
<h:commandLink action=notaFiscalCadastro > <h:graphicImage url=../../comum/img/edit.png/> <f:setPropertyActionListener target=#{NotaFiscalCadastroBean.notaFiscal} value=#/> <f:param value=#{notaFiscal.numeroNota} name=numeroNota/> <f:param value=#{notaFiscal.dataEmissao} name=dataEmissao/> <f:param value=#{notaFiscal.fornecedor.pessoaID} name=fornecedor/> </h:commandLink>
e no bean, capiturei os mesmos assim (usando a annotation @PostConstruct), digo que ele deve executar esse metodo assim que a pagina for carregada, e pego os parametros passado no xhtml
@PostConstruct public void Init(){ String numeroNota = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(numeroNota); String dataEmissaoTemp = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(dataEmissao); String fornecedorTemp = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(fornecedor); }
Obrigado
17/02/2012
Davi Costa
att Davi
20/02/2012
Dyego Carmo
Resolvido o problema ?
Se sim, poderia fechar o chamado ?
Valeu !
Clique aqui para fazer login e interagir na Comunidade :)