Primeiro contato com o Struts2

Essa última semana tive o prazer de conhecer 2 frameworks web que até então não conhecia (mas tinha vontade de conhecer, só faltava a oportunidade). O primeiro deles, que estou conhecendo e trabalhando é o Struts2. Ok, Ok, ok, eu sei que estou conhecendo com alguns anos de atraso 😛 Mas antes tarde do que nunca não é?

Bom, conceitualmente o Struts é um framework MVC, onde a implementação desse padrão é feita com a utilização de 5 componentes: Actions, Interceptors, Value Stack, Result Types and Views. A imagem abaixo mostra mais detalhadamente onde cada componente se encaixa dentro do MVC no struts 2.

O Componente Action é um dos componentes centrais do struts. O fluxo mais comum é ter um JSP chamando alguma Action, que irá processar a requisição e responder alguma string de acordo com o processamento. Essa string respondida pela action deverá passar pelo filtro do famoso STRUTS.XML 😛

Bom, esse “arquivinho” basicamente contem um mapeamento xml de todas as actions, possíveis respostas (strings) e para cada possível resposta um link a ser seguido (como uma outra action por exemplo,  ou um link para qualquer outra coisa). Como você já deve estar percebendo esse arquivo com o tempo e crescimento do projeto tende a ser gigantesco, e ao meu ver manter xml é uma coisa terrível 😛 (por conta disso quando falei de injeção de dependência e spring eu exemplifiquei tudo com annotation para evitar declaração de beans no applicationcontext.xml). Esse arquivo é para mim um dos grandes complicadores do struts e também proporciona diversos erros de Typo,além de exigir uma atenção monstra na sua edição, pois qualquer caractere errado pode lhe ferrar.

Aqui vai um pedacinho de um struts.xml para você terem idéia do que estou falando.

<action name="HelloWorld" class="tutorial.HelloWorld">
      <result name="irParaHelloWorld">/HelloWorld.jsp</result>
      <result name="irParaSiteGoogle">http://www.google.com</result>
      ...
      <result name="acessarOutraAction">Outra!MetodoDesejado</result>
</action>

Lembrando que a linha 5 (que está com highlight) diz que se o retorno da action chamada por “acessarOutraAction” então será chamada a classe de nome OutraAction.java e o método chamado MetodoDesejado. Todas as vezes que uma action é chamada segue-se esse padrão.

Bom, essa foi uma geral do struts, e como eu tinha comentado eu também tive a oportunidade de conhecer o framework wicket então o próximo post será sobre ele, e tentarei fazer algumas comparações com o struts.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s