estou iniciando um projeto J2EE utilizando Eclipse, Struts e Hibernate para implementação e até aí tudo jóia a questão é a seguinte: Até onde conheço as validações de dados no Struts são feitas por intermédio de um método validate presente em um ActionForm correto? porém para disparar este método é necessária uma nova requisição http! pois é, aí está minha dúvida. Existe algum outro método ou forma que não seja JavaScript (ARGHHHH pois teria que fazer uma salada de código) para processar simples validações de dados do lado client? ou seja, reduzir ao máximo possível o número de requisições ao servidor, este que será acessado corporativamente por um bom público, diga-se de passagem.
Outra pergunta, suponha uma página onde vou ter algumas listas <html:select> com informações encadeadas tipo pai-filho, seria possível tb utilizando da mesma ótica produzir estas listas dinâmicamente do lado cliente sem a necessidade de um segunda requisição?
Acho que deu pra entender meus problemas néh
Como o Caio disse, o Struts Validator eh uma opcao. Ele faz a validacao no cliente (gerando javascript para voce) e no servidor. Porem, tem algumas coisas chatinhas que eu observei:
Se voce soh utilizar as validacoes padrao ele supre todos os problemas e vai ficar tudo uniforme. Se voce quiser algo mais complexo, pode usar requiredif ou validwhen, porem ai o Javascript eh por tua conta. Ate aqui tudo bem, o framework nao faz milagre. Mas extender (eh com x?) o validator para suportar esses recursos eh que nao eh tao simples (pelo menos nao me pareceu).
O esquema de “cascateamento” de javascript para varios erros em sequencia ainda nao esta “bala” na minha opiniao. Mas isso pode ser melhorado, afinal o projeto eh open-source.
Em suma, se voce for utilizar Struts o Validator eh uma mao na roda - vale a pena gastar um pouco de tempo para aprender os detalhes do bicho.
Sim, da pra fazer na boa. O bom e velho esquema de Estados e Cidades, certo? Voce pode mandar todos os dados na primeira requisicao ao cliente e entao fazer a atualizacao dos combos com Javascript (nao eh dificil). Ou entao pode fazer um esquema de solicitacao em “tempo real”: o cara muda o combo, voce dispara uma solicatacao num frame invisivel e atualiza o outro combo (eh mais dificil, mas ainda assim viavel).
Se o Struts pode ajudar nisso? Acho que nao - esse nao eh o objetivo do framework. Talvez exista alguma taglib por ai que auxilie nessa tarefa, mas eu desconheco. Em todo caso, esse eh um assunto bastante batido por ai em foruns e listas de discussao - se voce procurar, vai encontrar provavelmente ate exemplos prontos, bastando adapta-los ao seu caso.
Cara, muito boa sua explanação sobre o assunto e pode ter certeza que vou me nortear por isso aí mesmo… Só um detalhe que talvez não tenha entendido muito bem é que por exemplo atualmente eu criei vários FormBeans programáticos e não declarativos ok! pelo que vi ao dar uma leve estudada no Validator seria interessante deixar estes forms como DynaActionForms é isso? se for melhor ainda pois a tarefa de manutenção no xml, pelo menos para mim, é muito mais tranquila de implementar e implantar posteriormente sem a necessidade de recompilação de algumas classes
No + estou me dedicante integralmente ao projeto e consequentemente ao estudo + aprofundado do framework, e pode ter certeza que estarei sempre por aki!
Nao - ate onde consigo ver nao ha relacao entre DynaActionForms e o Validator. Da pra utilizar um sem o outro e vice-versa. Da uma olhada na documentacao do site do Struts. Uma das vantagens do Struts sobre outros frameworks eh essa: documentacao. Aproveite.