Datatable e <p:ajax event="rowDblselect"/>

Olá pessoal,

Tenho uma datatable do primefaces com dynamic columns. Quero mudar de pagina quando eu clicar duas vezes em um registro da datatable.

Fiz a seguinte implementacao na datatable:


<p:ajax event="rowDblselect"  listener="#{manufacturerController.alterar()}"/>

O método alterar é assim:


    public String alterar() {
        current = getSelecionado();
        if (current != null) {
            return "Edit";
        } else {
            return "List";
        }
    }

se eu colocar um print no metodo alterar, eu percebo que está entrando nele. Entretanto, nao está redirecionando para a proxima tela.

Alguem sabe por que?

Porque é um listener, não um actionListener…

Se o p:ajax tivesse um atributo ACTION, você poderia usar esta técnica. Como o p:ajax não tem, você pode fazer o listener abrir um javascript que redirecionará para a página que você quer.

window.location();