Problema na alteração

0 respostas
M

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";
    }
Criado 4 de setembro de 2009
Respostas 0
Participantes 1