Fazendo desta forma consigo receber o id do objeto carro com redirect normal. Mas como faço para enviar o objeto inteiro da pagina list para edit e então poder usar os seus elementos na tela edit? Tentei de fato enviar <f:param name=“carro” value="#{carro}"/> mas é lançado apenas um Servlet.service() for servlet Faces Servlet threw exception: java.lang.NullPointerException.
Tentei da forma que o and.rds fez mas algo deve estar errado no meu MB.
Estou empenhado nisso e parece tão simples :roll:
[quote=kdashu]Pessoal, desculpem reabrir o tópico mas estou com o mesmo problema para envio de um objeto por parametros utilizando a forma de no faces-config.
Tenho uma tela list e quero editar um registro do datatable conforme abaixo:
Fazendo desta forma consigo receber o id do objeto carro com redirect normal. Mas como faço para enviar o objeto inteiro da pagina list para edit e então poder usar os seus elementos na tela edit? Tentei de fato enviar <f:param name=“carro” value="#{carro}"/> mas é lançado apenas um Servlet.service() for servlet Faces Servlet threw exception: java.lang.NullPointerException.
Tentei da forma que o and.rds fez mas algo deve estar errado no meu MB.
Estou empenhado nisso e parece tão simples :roll:
Tentei sim, funciona normalmente se eu faço o metodo pagefoward. Informo um <h:inputHidden value="#{carroMB.carro.id}"/> e sem o redirect no faces-config vai.
Mas preciso atualizar a url de list para edit quando entrar nesta tela, além de que meu filtro na tela listagem só funciona a edição de um registro se usar redirect. Senão ao clicar no editar do registro ele permanece na mesma tela.
Bastava na view list.xhtml informar um <f:param id=“id” value="#{bean.id}"> da vida, na view edit.xhtml algo como <f:viewParam name=“id” value=“meuManageBean.bean.id”> no topo da página.
E no metodo init do ManageBean usar um @postConstruct, chamando um método localizar que pegasse esse id pelo FacesContext e inicializasse o objeto. Depois eu posto o código.
Agora ficou praticamente como no seam.