saoj
Joined: 10/01/2008 08:20:15
Messages: 39
Offline
|
- Validação:
O Struts2 oferece validação via XML ou Annotations.
A documentação do Struts2 continua sendo, na minha opinião, pouco objetiva e pouco clara. Clique aqui para acessar a documentação oficial sobre validação, e tire suas próprias conclusões. Repare que não há nenhum código Java, apenas XML.
Validação via XML: (repare que existe código Java dentro do XML !!!! )
Validação via Annotations: (como deturpar o uso de annotations assim como foi feito com o uso de XML)
Clique aqui para ver que isso está na documentação oficial do Struts2
Mais uma vez a configuração programática do Mentawai mostra todo o seu poder facilitando a implementação dessa funcionalidade tão essencial e importante:
Filtro de Validação do Mentawai: (pode ser aplicado em mais de uma action)
Ou vc pode também fazer a validação diretamente na action através da interface Validatable: http://recipes.mentaframework.org/posts/list/4.page
E para internacionalizar essas mensagens, tudo que vc precisa fazer é criar um arquivo HelloWorldValidator_en_US.i18n dentro do diretório /validation:
E o filtro de validação ficaria assim:
- Internacionalização:
A documentação oficial do Struts para internacionalização está aqui: http://struts.apache.org/2.x/docs/localization.html
Mais uma vez a documentação deixa em aberto as seguintes questões:
- Struts2 utiliza ResourceBundle, o que provavelmente vai forçar um restart da aplicação a cada mudança nos arquivos properties do resourcebundle.
- Se o locale do meu usuário está salvo no banco, como forço para que o locale da aplicação seja esse locale para esse usuário?
- Tenho a opção de criar apenas um único arquivo onde todo o meu conteúdo internacionalizado estará presente (arquivo master) ?
- O Struts2 permite internacionalizar actions colocando arquivos properites dentro do pacote da action. É boa prática colocar os arquivos de internacionalização separados do seu código e num lugar que possa ser acessível pelo designer e/ou tradutor. (Ou vc programador vai fazer essa tarefa?)
Compare o approach do Struts2 com o approach do Mentawai e tire suas próprias conclusões: http://www.mentaframework.org/i18n.jsp?loc=pt
- Conversão:
Assim como sua documentação, os conversores do Struts não são nem simples, nem claros, nem pragmáticos:
É difícil entender e/ou justficar algo tão bizarro acima para algo tão simples como uma conversão, principalmente quando olhamos a versão do Mentawai abaixo:
- Filtros:
A configuração dos filtros é feita via XML, como sempre. Se tivermos que por exemplo aplicar o mesmo filtro em 100 actions diferentes, teremos que usar copy/paste e transformar a nossa configuração num arquivo XML gigantesco. Em contrapartida, se utilizarmos configuração programática, podemos fazer um for/loop, métodos, if, etc.
Veja o exemplo de um interceptor do Struts:
Reparem que, talvez pela falta de um INPUT/OUTPUT para as actions, o interceptor acima está fortemente acoplado a action MyAction, ou seja, só pode ser aplicado a ela.
Na versão do Mentawai ficaria assim:
(reparem que o filtro abaixo poderá ser aplicado em qualquer action, e não apenas MyAction)
Aguardem mais comparativos !!!
|