| Author |
Message |
|
|
Opa, isso é path do SVN para os desenvolvedores do menta...
Eu gerei um jar "pirata" aqui com isso funcionando... Mas deixa algum desenvolvedor ver isso e falar se acha interessante ou não...
Se eu passar esse jar "pirata" para você, você pode ficar com uma versão do mentawai com recursos que talvez não estejam disponíveis nas próximas versões, então isso n eh bom =P
|
 |
|
|
pronto!
Aproveitando a minha pergunta, resolvei por a mão na massa para melhorar a sugestão do Krycek.
Em vez de ficar fazendo if no initValidator eu alterei os fontes do Mentawai para suportar validação por inner action.
Exemplo:
Code:
val.add("username", new RequiredFieldRule(), "1");
val.add("username", new StringRule(6, 30), "2");
val.add("gravar", "username", new RequiredFieldRule(), "1");
val.add("gravar", "username", new StringRule(2, 5), "2");
A validação normal (do jeito que já existia) é executada para a Action principal.
E as duas linhas de baixo é um exemplo de validação só para o metodo (ou inner action) gravar().
Desse jeito eu acho que fica mais separado o que é validação de cada coisa e não tem que ficar usando if...
Os códigos antigos com if continuam funcionando.
Vejam se é util. Eu pelo menos prefico assim...
Fiz o patch tanto para o ValidationFilter, quanto para o ValidatorFilter.
Alias para quem eu tenho que enviar essas contribuições? Para o Sergio?
|
 |
|
|
Ah, esqueci de falar, para usar é assim:
Se quiser ler um arquivo especificio:
MentaI18n.get("/i18n/arquivo", "teste.required");
Se quiser ler uma key do arquivo master:
MentaI18n.get("teste.required");
Esse teste.required era uma key do meu arquivo.
|
 |
|
|
É, acho que na verdade não é util fazer o que eu pensei...
Se desabilitar a validação no 1 acesso vai continuar rodando o execute e minhas regras, e não é isso que eu quero hehe...
Estou confundindo com a forma q eu usava o Struts...
Porque lá eu usava o DispatchAction.
Com ele dá para entrava nos metodos que eu queria da action (como se fosse inner action do Mentawai).
Mas geralmente eu não fazia overhide do metodo unspecified (que seria o execute do Mentawai). Então passava direto sem validar e sem executar nada para esse metodo. E para os metodos normais, acessados via submit tinha validação...
Então é mais ou menos o que o Krycek tinha sugerido mesmo =)
A diferença é que vou ter que fazer um if no initValidator se tiver implementando o Validatable :/
Ou então usar a sugestão do Rubem e fazer ValidationFilter =)
|
 |
|
|
=)
Eu até gostei do i18n do Mentawai. É melhor porque tem a liberdade de colocar os arquivos de internacionalização onde quiser. Com isso da para criar pastas, organizar... O que é mais chato no classpath porque mistura com código, packages...
E se além disso não tem a questão do restart ao alterar o arquivo melhor ainda ... Não tem porque não está no classpath né?
Mas da para você utilizar a i18n do JSTL e o resto com o mentawai numa boa
O problema que eu queria resolver é fazer todo o meu sistema ler os mesmos arquivos de internacionalização, seja via JSTL, Mentawai ou classes Java.
Fiquei na dúvida quanto ao que você falou de usar o mentawai para interncionalização do resto, então dei uma olhada no código fonte do Mentawai para ver se tinha alguma classe utilitária para ler os arquivos de internacionalização do Mentawai via Java.... Não encontrei. Então resolvi criar uma.
Como faço para contribuir? =)
Entrei no JIRA mas a última versão lá é 1.5, e o Mentawai ta na 1.7. Aquilo ta atualizado? Sendo usado?
O arquivo é esse MentaI18N.java
Com ele dá para fazer mais ou menos o que eu estava querendo.
Eu usaria o i18n do mentawai para as validações, tiraria o fmt:message do jstl e usaria Mentawai nos jsps, e nas classes Java, onde uso exceptions internacionalizadas e as vezes leio alguma configuração dos arquivos properties, eu usaria esse MentaI18N.java que eu criei.
Então os arquivos i18N seriam os mesmos, que é o que eu estava querendo.
|
 |
|
|
ahhh, mas isso considerando que eu vou ter várias validações na mesma action e inner actions né? hehe
eu entendi mas não testei esse esquema de inner action ainda....
a minha dúvida é quando eu não tiver inner action...
tiver um action que não precisa ter inner action porque tem só o execute, e ao entrar eu quero que não valide, mas ao dar submit eu quero validação... tendeu?
para isso obrigatoriamente eu tenho que criar uma inner action, deixar o execute vazio e validar só a inner action? tem outra forma mais ninja não? hehe
na verdade eu queria um lugar para configurar que a validação só vale se houver submit... sem me obrigar a fazer inner action (quando eu não precisar) e fazer if....
isso não seria um recurso interessante?
|
 |
|
|
Estou integrando o Mentawai em um projeto de teste que eu tenho, e ele usa JSTL para imprimir keys dos arquivos properties na tela.
Por enquanto estou gostando dos resultados, mas uma das minhas dúvidas é:
Como fazer a integração do arquivos de internacionalização do Mentawai e do JSTL?
O JSTL através das tags fmt:setBundle / fmt:message procura os arquivos no classpath. E os arquivos tem extensão .properties (seguindo a especificação do resource bundle).
No Mentawai até onde eu vi dá para configurar o local do arquivo, porém a raiz não é do classpath e a extensão é i18n em vez de properties.
Não testei mas talvez se eu colocar um WEB-INF/classes/meuarquivo eu consiga ler um arquivo do classpath usando o Mentawai. Porém e a extensão? Um properties e outro i18n?
Não tem como fazer o JSTL e o Mentawai lerem o mesmo arquivo?
Dei o exemplo do JSTL, mas no meu caso, nas regras de negocio eu também faço a leitura dos arquivos properties do classpath (usando um resource bundle) para gerar exceções internacionalizadas.
Concluindo, queria manter o mesmo arquivo, porque algumas keys podem coincidir entre o Mentawai / JSTL e Regras de Negocio.
(ok, eu sei que não preciso usar o JSTL e posso usar o próprio Mentawai para ler o arquivo i18n..., mas pelo menos por enquanto queria manter o JSTL)
Acho que escrevi muito hehe...
Mas entenderam minha dúvida?
Se alguém souber a resposta, ajude um pobre iniciante em Mentawai =)
Abraços,
|
 |
|
|
? não tem se entrar pelo jsp...
entrando pelo .mtw aqui está validando...
|
 |
|
|
Ok. Dei uma olhada no inner action e acho que entendi (não testei ainda).
Mas isso resolve a parte de validações diferentes.
E quanto a desabilitar a validação ao entrar na página?
|
 |
|
|
Estou começando a mexer com o Mentawai, e quero fazer o seguinte:
- Quando a pessoa entrar no meu teste.mtw não validar os erros dá página.
- Mas quando ela der submit, acontecer a validação.
Dá para fazer isso com o Mentawai?
No Struts Validator isso é feito através do atributo 'page'.
Uma mesma página pode ter várias validações diferentes.
Se page = 1, realiza a validação 1, se page = 2, realiza as regras de validação 2 (no caso do Struts é hierarquico, o 2 inclui tudo do 1, mas não sei se isso é legal).
Tendo esse recurso, dá para dar nomes para a validaçãos (1, 2, etc...) e ao entra na página não vai acionar validação nenhuma.
Quando der submit, se existir um campo hidden com page = 1, no Struts vai acionar a validação 1. Entenderam?
No Mentawai tem algo parecido?
|
 |
|
|
Criei um fórum no projeto para não ficar amolando o pessoal aqui com discussão sobre outro projeto (antes que reclamem) hehe...
http://www.j2eespider.org/forum
E adicionei uma mensagem sobre o Template de Mentawai:
http://www.j2eespider.org/forum/viewtopic.php?p=2#2
|
 |
|
|
velo / amilhoranza, se vcs não tiverem, criem login lá no sourceforge...
Precisa do login para dar acesso ao CVS.
Enquanto isso dá para baixar o projeto como usuário anonimo:
http://sourceforge.net/cvs/?group_id=164478
Aqui tem uma documentação básica de como funcionam os templates:
http://www.j2eespider.org/doc/pt
Deem uma lida e me falem as dúvidas porque além de explicar, eu posso ir melhorando a documentação.
Abraços,
|
 |
|
|
|
É, na verdade eu deixei aberto para escolher qualquer ferramenta de merge... Mas não tem a opção de usar o próprio merge do Eclipse se o cara não tiver nenhum, acho que isso que falta para ficar completo e atender a todas as necessidades =)
|
 |
|
|
Bom que vocês animaram =)
Vamos ver se mais alguém anima ai a gente ve a disponibilidade e pode até montar uma equipe para isso (apesar de que o trabalho no template de mentawai é pouco)...
A idéia de várias pessoas talvez seja legal nas definições, ou para dar mais idéias para o projeto =)
|
 |
|
|
velo wrote:
Ateh fiquei curioso.... mas... duas coisas....
1 - pq vc usa uma ferramenta de merge externa, o eclipse tem isso dentro dele, num tem?
2 - eu não tenho nem ideia com o velocity funca, mas toh afim de ajuda =D
VELO
Opa =)
1) Vc gosta do merge do eclipse? Depois posso até fazer uma versão com essa opção de integração, mas eu prefiro o WinMerge, acho que foi por costume mesmo hehe
2) Eu também não sabia Velocity até começar esse projeto. Mas Velocity é tão ridículo que eu meu recuso a dizer que tem que aprender hehe.
Resumidamente o Velocity funciona assim:
Você tem um arquivo .java...
Dai você renomeia ele para .vm (por exemplo)
Ele passa a ser um arquivo Velocity
Ai dentro do arquivo você pode tirar qualquer coisa e colocar no lugar váriaveis, ifs, e loop, tipo: ${projeto.nome}... iria imprimir o nome do projeto se você setasse essa váriavel quando rodasse o velocity... Coisas assim...
Os recursos que ele tem são mais ou menos os recursos so JSTL, só que focado para a criação de templates.
A grosso modo é isso hehe...
|
 |
|
|