ActionListener não é chamado pelo commandButton

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.

Veja meu commandButton

<p:commandButton id="deleteItem" icon="ui-icon-minus" update=":formCadastrar:dataTableItens" 
					action="#{tabelaProcedimentoMB.deleteItem}" type="button" />

Veja meu actionListener

public void deleteItem(ActionEvent event){
		if (selectedItem != null){
			itens.remove(selectedItem);
			addInfoMessage("Item deletado com sucesso");
		}else{
			addErrorMessage("Selecione um item para remover");
		}
	}

eu tive esse mesmo problema com o prime faces essa semana,mas meu problema era do ajax,resolvi deixando de usar ajax na minha aplicação…

E como faço para desabilitar o AJAX da minha aplicação ? E em que pode implicar isso na minha aplicação ?

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…

Obrigado Slow17, mas ainda não resolvi o problema não, a actionListener não é chamada de jeito nenhum.

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

aqui o topico que eu criei por causa desse problema semana passada
http://www.guj.com.br/java/304392-resolvido-jsf2primefaces-e-ajax–problemas-de-execucao-de-metodos

Mas meu caro, a função do meu ActionListener é apenas remover 1 item de um List, não quero que mude para nenhuma outra página.

de boa brow,então tenta fazer isso aqui
na tag do dataTable

e crie esta coluna na dataTable

&lt;p:column selectionMode="multiple"&gt; &lt;/p:column&gt;

crie essa lista no teu MB

e faça o seguinte metodo

[code]public void remove(){
try{

	for(SuaClasse obj : listaRemocao){
		EntityManager manager = this.getManager();
		FuncionarioRepositoryImpl repository = new FuncionarioRepositoryImpl(manager);
		repository.remove(obj);
	}
	FacesContext fc = FacesContext.getCurrentInstance();
	ExternalContext ec = fc.getExternalContext();
	ec.redirect("tela de remocao.xhtml");
}catch(Exception e){
		e.printStackTrace();
	}
}[/code]

adapta ai para o seu
*detalhe,falta ai o botao que vai chmar o metodo deletar mas esse botao voce já entao…

.