Há alguns dias recebi uma pergunta sobre o ICEfaces 2.0, assunto de um dos meus artigos recentes publicados na Java Magazine, mais especificamente o artigo de capa da edição 89 da revista. Eis a mensagem:
Sou assinante da Java Magazine e gostei do seu artigo sobre IceFaces 2.0. Estou fazendo uso deste num peno projeto.
Tenho uma pergunta: como posso desabilitar o Ajax Automático?
Como explicado no artigo, o Ajax Automático é uma funcionalidade do ICEfaces 2.0 que faz com que todos os componentes de formulário JSF de todas as páginas de sua aplicação automaticamente utilizem AJAX, como se todos tivessem a tag [cci_html]
Para responder à dúvida da assinante da revista, uma busca no Google revelou uma pergunta no fórum StackOverflow que trata exatamente do assunto. A resposta pode ser dividida em duas partes: (1) como desabilitar o Ajax Automático somente para alguns componentes específicos; (2) como desabilitar completamente o Ajax Automático, voltando para o funcionamento normal do JSF de incluir manualmente a tag [cci_html]
A parte (1) é respondida na própria pergunta no fórum: “Putting a f:ajax tag around h:commandButton with disabled=”true” solves it. I don’t want to have to put it everywhere, however.” Ou seja, é só colocar [cci_html]
A resposta da parte (2) pode ser encontrada na wiki do ICEfaces: basta configurar a propriedade [cci_java]render.auto[/cci_java] para falso, o que pode ser feito no arquivo web.xml para valer para todas as páginas ou em cada página individualmente utilizando a tag [cci_html]
Não tive tempo de testar se realmente funciona, portanto estou apenas reportando instruções encontradas no StackOverflow e na wiki do ICEfaces. Peço à leitora que fez a pergunta para comentar aqui se esta dica resolveu a questão, comentando no post. Espero que ajude!
Bons estudos!