| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 10:22:12
|
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!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 12:06:04
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 13:15:49
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2007 17:18:58
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline
|
UP!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2007 09:18:19
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2007 17:14:41
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 09:14:16
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline
|
Ninguém?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 09:49:00
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 10:00:35
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 10:03:34
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 10:37:40
|
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 10:43:21
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 11:06:53
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
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 )
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 12:08:05
|
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 12:15:04
|
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.
|
|
|
 |
|
|