Pessoal, estou com um problema interessante. No momento que eu clico no botão ALTERAR na minhas listagem, o certo seria o sistema passar o ID do objeto para o MANAGERBEAN e o managerbean ir buscar o objeto no banco e retorna-lo para mim. Mas o que está acontecendo é que, quando clico no botão o ID do objeto está passando para o managerBean como NULL, e o mais estranho é que as mesmas linhas de codigo que eu uso na JSP para excluir, uso para alterar, com a diferença de que o value de cada refere-se ao método de cada uma. O excluir está excluindo normalmente, só o alterar que está passando ID NULO. Alguém sabe como resolvo isso?
Trecho da JSP:
<rich:column style="text-align:center">
<h:commandLink action="#{InformacaoMB.excluir}">
<f:param value="#{infor.id}" name="idInformacao"/>
<h:graphicImage url="imagens/excluir.jpg"/>
</h:commandLink>
</rich:column>
<rich:column style="text-align:center">
<h:commandButton action="#{InformacaoMB.alterar}" value="alterar" >
<f:param value="#{infor.id}" name="idInformacao" id="parametro"/>
</h:commandButton>
</rich:column>
Trecho do ManagerBean:
public String excluir() {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
//Procedimentos necessarios para pegar o parametro passado pelo link
Integer codigo = Integer.parseInt(req.getParameter("idInformacao"));
InformacaoDao.excluir(codigo);
// ConcessionariaBO.deletar(idConcessionaria);
return null;
}
public String alterar() {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
//Procedimentos necessarios para pegar o parametro passado pelo link
System.out.println(req.getParameter("idInformacao"));
Integer codigo = Integer.parseInt(req.getParameter("idInformacao"));
informacao = InformacaoDao.buscar(codigo);
return "alterar";
}