[Logo] Mentawai Recipes
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Moderation Log] Moderation Log   [Register] Register / 
[Login] Login 
Mentawai x Struts2  XML
Forum Index » Site Docs
Author Message
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 !!!
 
Forum Index » Site Docs
Go to:   
Powered by JForum 2.1.8 © JForum Team