[RESOLVIDO] Remoção em VRaptor

Sou novo no VRaptor e estava estudando, porem não consegui fazer uma remoção de um objeto em uma lista, segue o código:

Aqui eu renderizo em uma tabela um objeto Produto, e mais especificamente na tag seria para realizar a remoção (a renderização de todos objetos estão funcionando perfeitamente).

<td align="center">               
    <c:url var="url_remove" value="/produto/remove"/>                
    <a href="${url_remove}?produto.id=${produto.id}" >Removerd </a>
</td>

Aqui é o metodo da classe que realiza a remoção

public void remove(Produto p) {
        System.out.println("AA id que chegou aqui"+p.getId());
        new ProdutoDAO().removePorId(id);
        result.redirectTo(ProdutoController.class).lista();
}

A exceção que é lançada é java.lang.NullPointerException.

Não fui alem disso, no print q eu dou só mostra null mesmo quando mando para o método o objeto Produto inteiro.

Ai galera já consegui resolver aqui, caso alguem esteja com o mesmo problema, segue a solução:

<td align="center">             
        <c:url var="url_remove" value="/produto/remove"/>                
        <a href="${url_remove}/${produto.id}" >                
                        Remover </a>                        
</td>

@Get
@Path("/produto/remove/{produto}")
public void remove(Long produto) {
    System.out.println("AA id que chegou aqui"+produto);
    new ProdutoDAO().removePorId(produto);
    result.redirectTo(ProdutoController.class).lista();
}

Resumindo, enviei apenas a id do meu objeto e alterei a URL de envio para “/” onde tinha um "?"
e no controller, coloquei a anotação @Path com a string que recebe a requisição, sendo q o atributo dentro dessa string deve ser de mesmo nome do parametro recebido pelo metodo.