Dúvida e Erro Ajax4JSf  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Bom dia srs,

Estou com um seguinte problema com esse framework. Como não possuo experiência, capaz que muitos achem que o que será abordado seja muito simples, enfim...

Eu tenho uma página JSP, nela alguns divs que iniciarão ocultos, a idéia é apresentá-los de acordo com a necessidade do usuário, trata-se de uma página de inclusão, alteração e exclusão de usuários do sistema!

Pois bem, a dúvida é a seguinte:

1 - Usando as tags do A4J, como faço para executar um método assíncrono após a validação de determinados campos? (Por enquanto só sei usar o commandButton)
2 - Posso ter mais de uma tag <h:form> na mesma página para "separar" as divs e suas funcionalidades?
3 - Quando uso o atributo required="true", ele apresenta uma mensagem no console do Tomcat, só que, mesmo com a tag <h:message> no seu devido lugar, a mensagem correspondente ao campo não é apresentada, no que o Ajax4Jsf está interferindo no ciclo de vida do JSF?

Abraço!
Leozin
JWizard
[Avatar]

Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline

E ae blza?

Vamos por partes

felipeguerra wrote: 1 - Usando as tags do A4J, como faço para executar um método assíncrono após a validação de determinados campos? (Por enquanto só sei usar o commandButton)


Poderia ser mais específico? Você quer fazer uma chamada AJAX só depois que determinados campos são validados?

Antes me responda: essa validação é cliente-side ou server-side?

felipeguerra wrote: 2 - Posso ter mais de uma tag <h:form> na mesma página para "separar" as divs e suas funcionalidades?


Sim e deve, fica até "mais legível", mais leve e mais fácil de dar manutenção

felipeguerra wrote: 3 - Quando uso o atributo required="true", ele apresenta uma mensagem no console do Tomcat, só que, mesmo com a tag <h:message> no seu devido lugar, a mensagem correspondente ao campo não é apresentada, no que o Ajax4Jsf está interferindo no ciclo de vida do JSF?


Se você está querendo fazer validações server-side com ajax, o "mais sugerível" (rsrsrs) é tu fazer assim:



Toda vez que tu faz uma chamada ajax, todo e qualquer componente que esteja dentro de um panel com ajaxRendered vai ser renderizado novamente SEM NECESSIDADE da propriedade "reRender" do a4j:support

http://www.leozin.com.br/blog
[ICQ]
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Leozin wrote:E ae blza?

Vamos por partes

felipeguerra wrote: 1 - Usando as tags do A4J, como faço para executar um método assíncrono após a validação de determinados campos? (Por enquanto só sei usar o commandButton)


Poderia ser mais específico? Você quer fazer uma chamada AJAX só depois que determinados campos são validados?

Antes me responda: essa validação é cliente-side ou server-side?



Isso mesmo, só quando determinados campo forem validados! Cliente-Side!

No servidor é mais fácil, pelo o que vc me disse, vou deixar minhas tags <h:message> dentro dessa outra tag do A4J que citou para dar as mensagens de erro, né não?

Valeu, camarada.
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

UP!
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Eu queria saber se alguém já fez um combo ser populado via a4j no evento onchange?

Alguma luz?
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Eu não achei nenhum material bom (nem em inglês) com o passo-a-passo do ajax4jsf!

Por exemplo, tenho um form de usuário, ao submitar o mesmo, os dados devem ser validados e um usuário novo cadastrado no BD!

Pois então, na tag <a4j:commandButton /> existe a propriedade oncomplete que executa um script que eu desejar.
Como devo validar o retorno da inserção AJAX? Eu tenho as tags <h:message /> para os campos com validações que vão apresentar as minhas mensagens customisadas, só que eu não consigo sincronizar um erro de validação com o retorno do método.

Ou seja:


Não adianta eu ter esse trecho de código: oncomplete="alert('Cadastro concluído com sucesso');" sem que haja condições para ser apresentado, certo?

Obrigado.
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Ninguém?
Leozin
JWizard
[Avatar]

Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline

meu, não fica postando UP e ALGUÉM e afins cara. Ficar floodando pra galera resolver o teu problema não vai ajudar em nada, sem contar que dá a impressão que a gente tem obrigação de ajudar. Minha sugestão: se tu não consegue fazer a parada, tenta ler desde o início a documentação, vai na calma... e assim por diante

mas vamos lá

o que tu poderia fazer é o seguinte, vamos imaginar a tua página assim como vou fazer agora. Pega esse exemplo e vê se tu entende

Vamos criar aqui 3 campos: um com ID, outro com Nome e outro com Data



O teu bean



Você vai perceber uma coisa legal: Tente botar uma letra no ID, bote menos de 3 chars no teu campo nome e bote uma data toda errada, tipo 39103912. Antes de ele chamar o teu método, ele vai fazer uma validação padrão do JSF. Como você está fazendo essa validação pro AJAX, tu vai ver que quando tu clicar no botão salvar, vai aparecer automanticamente as messages. Tente preencher certinho e no ID, bote 3. Vai aparecer a mensagem que você inseriu no backing bean, no método "adicionarMensagem".

Veja ae se funciona

This message was edited 1 time. Last update was at 19/12/2007 09:49:53


http://www.leozin.com.br/blog
[ICQ]
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Vc ta certo!

E mais uma coisa, já te falaram que vc é o cara?

Falou
Leozin
JWizard
[Avatar]

Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline

felipeguerra wrote:Vc ta certo!

E mais uma coisa, já te falaram que vc é o cara?

Falou


hahaha

testou ae? funcionou?

ah e de boa, não leva pro lado pessoal aquilo que falei no início hehe foi só mais um puxão de orelha rsrs
[ICQ]
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Tranquilão, camarada!

Eu to começando a fazer umas paradas aqui. Mas é que vc tem que concordar comigo, só ler a especificação não ajuda a fazer funcionar, né?

Não tem jeito, nesses casos nada substitui a experiência...aqui mesmo no trampo, os mais juniors têm problemas direto em registrar um recurso JNDI no contexto da aplicação, eu já acho simples! Sacou?

Sâo muitas dúvidas sobre JSF e afins...
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Ou camarada, me diz uma coisa, se eu tenho um componente h:selectManyCheckbox, no Bean eu preciso ter um atributo do tipo: List<SelectItem>, para pegar os checkbox selecionados, correto?
Leozin
JWizard
[Avatar]

Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline

felipeguerra wrote:Ou camarada, me diz uma coisa, se eu tenho um componente h:selectManyCheckbox, no Bean eu preciso ter um atributo do tipo: List<SelectItem>, para pegar os checkbox selecionados, correto?


Cara não conheço porque nunca precisei usar esse componente, mas se for igual o h:selectManyListBox, a tua propriedade do bean deve ser um List<String> (pra funcionar com todos) ou tu bota um converter (que no meu caso, eu fiz um EnumConverter e não funcionou )
[ICQ]
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Converter é uma boa, aliás, eu gostei dos componentes que interferem no ciclo do JSF!
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Leozin wrote:
Cara não conheço porque nunca precisei usar esse componente, mas se for igual o h:selectManyListBox, a tua propriedade do bean deve ser um List<String> (pra funcionar com todos) ou tu bota um converter (que no meu caso, eu fiz um EnumConverter e não funcionou )


Tanto List<String>, List<SelectItem>, List<Integer>...nada funciona.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team