[RESOLVIDO] JSF - RichFaces: dataTable com commandLink
15 respostas
E
emersonjs
Boa tarde!!
Estou tentando usar a tag commandLink, tanto do JSF (h:commandLink) como do RichFaces (a4j:commandLink) dentro de uma rich:dataTable. Uma das colunas do dataTable terá um link. O action deste link está relacionado a um método de um Bean. Acontece que o método nunca é chamado. É como se o evento não fosse disparado.
Já encontrei alguns colegas com um problema similar e vi que no caso deles o escopo do bean era o problema. O escopo do meu bean já é session, então não sei o que pode estar acontecendo!
Segue uma versão de teste do código que estou usando.
Tente mudar o Scopo para Conversation, e no page.xml da tua view adicione o
Sempre usei commandLink, actions, etc. em dataTable, nunca tive problema.
E
emersonjs
Eu sou novato no assunto, então posso estar escrevendo besteira, mas no JSP existe este escopo Conversation?
Eu só vi alguma coisa assim no Seam Framework…
dayvison.lemos
Quando vc usa um h:dataTable funciona??
vc já está usando o h:form ??
Rodei um exemplo em jsf puro e funcionou, tanto a action quanto o redirecionamento.
ps. não tentei com o richfaces.
danielfigueiredoc
Não tem escopo Conversation no Facelets puro com JSF ou só o JSF, só tem Request e Session, é 8 ou 80, mas isso não interfere na chamada do método, mas sim na propagação dos valores.
Verifique duas coisas, se o nome que você está passando na expressão #{} está de acordo com o do faces-config.xml e se lá no faces o caminho do arquivo está correto.
Não esqueça também de ver se o método chamado tem o tipo de retorno como String, nem que retorne null mas é obrigatório ser String, caso contrário ele não vai chamar o método.
[]'s
Claudio_Nazzari
Da uma olhada se nao esta gerando nenhum erro de Javascript.
Tenta mudar o form de h:form para a4j:form
E
emersonjs
Fala galera, tudo bem?
Obrigado pelas dicas, mas infelizmente ainda não consegui resolver o problema. Vamos atualizar a situação:
Eu fiz vários testes, já troquei o commandLink por commandButton, já usei actionListener no lugar de action… e até agora nada!
No caso do commandButton eu descobri que se colocasse ele fora do dataTable ele dispara o evento e chama o ouvinte normalmente, porém dentro do dataTable não funciona de jeito nenhum.
Alguém já passou por isso??
dayvison.lemos
vc já experimentou colocar no value do comandButton??
tipo: