Bom, estou utilizando o commandButton do Primefaces para achamar um ActionListener no meu ManagedBean, mas ele simplesmente não é chamado e não mostra nenhum erro, nada.
public void deleteItem(ActionEvent event){
if (selectedItem != null){
itens.remove(selectedItem);
addInfoMessage("Item deletado com sucesso");
}else{
addErrorMessage("Selecione um item para remover");
}
}
ue cara,tu usa ajax quando tu define em um inputText os atributos rendered e update como @all , @self, entre outros,se tu não chamar o ajax simplesmente você vai deixar de usar ele o.o
mas você já deve ter resolvido isso ai…
no metodo que o actionListner vai executar,tenta dar um sendRedirect para a nova pagina,se tiver que mudar alguma coisa na propria pagina com ajax
ai meu filho e com você mesmo
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.redirect("pagina que você vai mandar depois de executar esse metodo");
Não entendi o motivo do sendRedirect, pois bem, se ele for apenas para ter certeza que o actionListener está sendo chamado, não há necessidade pois já depurei o código e ele não é chamado mesmo.
Não é não, se você ja usou servlet já deve ter notado a diferença entre o foward e redirect,o foward serve para você passar para outra pagina passando parametros
no request,porém é como se você continuasse na pagina antiga e na pagina nova ao mesmo,se você der um F5 em uma pagina que foi exibida depois de um foward ela vai executar o servlet denovo,e actionListner do jsf faz a troca de paginas desse modo,semana passada tive problemas porque eu queria editar uma tabela de um dataTable,eu clicava para editar ,ele ia para formulario,porém quando eu submitava o formulario,o mesmo não era executado,o action dele não funcionava,e não exibia erro nenhum,isso porque é como se ele continuasse na pagina anterior que é a lista me estava dando algum conflito entre o dataTable e formulario,minha solução foi trocar foward que o jsf usa como padrão para redirect que redireciona totalmente para a proxima pagina,e os parametros eu tive que passar pela sessão mesmo…
detalhe que nem é o actionListner que faz a troca,é o action do commandButtom/link