Categoria: Struts2

    Testes de Unidade - Struts 2

    Testes são uma forma de garantir que a aplicação está funcionando corretamente, e quando é preciso alterá-la, através deles garantimos que ela vai continuar funcionando após feitas as alterações. Aqui vou mostrar como devem ser feitos os testes de unidade das actions quando trabalhamos com Struts 2. Serão criados aqui os testes para a CarroAction, do post [Simplificando - Struts 2][1]. Primeiro, será necessário fazer uma pequena alteração na classe. O construtor da classe agora vai ter que receber o dao ao invés de criá-lo. Fica assim: public CarroAction(final CarroDao dao) { this.dao = dao; } E para fazer os testes, serão adicionados ao [build.gradle][7] os jars do [JUnit][2] e do [Mockito][3]: testCompile 'junit:junit:4.10' testCompile 'org.mockito:mockito-core:1.9.0' Abaixo, a classe de... Continue lendo →

    Integrando Struts 2 e Spring

    No [primeiro post sobre Struts 2][1] foi falado que utilizar um container de injeção de dependência é o ideal para fazer o controle das dependências das classes do projeto. Nesse post será mostrado como integrar com o o Struts 2 com o Spring, o mais famoso container feito em java. Para trabalhar com essas ferramentas de forma mais simples, procurei tornar sua utilização o mais próximo possível do [VRaptor][2]. Será usado o mesmo exemplo da aplicação de carros que foi apresentada no post citado, para deixar claro quais são os ganhos que o Spring traz para a aplicação. Primeiro a configuração. Além dos jars padrões para usar o Struts 2 será necessário mais um, usado para integração com o Spring,... Continue lendo →

    Combos dependentes com Struts 2

    Este é um exemplo do clássico problema dos combos dependentes, do tipo estado - cidade. Por si só, o suporte a ajax do Struts 2 não é suficiente, então é necessário fazer uso de um [plugin para JSON][1] que facilita esse trabalho. Para usá-lo, além da [configuração padrão para uso do Struts 2][2], é preciso adicionar mais um jar nas dependências do [build.gradle][3]: compile 'org.apache.struts.xwork:xwork-core:2.3.4' E está pronto para utilizar. Abaixo está a classe com as duas Actions, a que popula o combo de estados da forma usual, e a que popula o combo de cidades com json: Até aqui, poucas novidades. A anotação **@ParentPackage(“json-default”)** é usada para extender o pacote do JSON, seu uso é necessário para converter as... Continue lendo →

    Simplificando - Struts 2

    A maior parte do conteúdo sobre Struts 2 que encontramos por aí ensina a usar o framework de uma forma bastante complicada. Não gosto muito do Struts 2, acho um framework ultrapassado, que fica devendo muito para as outras opções que temos hoje. Ainda sim, muitos precisam utilizá-lo, então vou simplificar nesse post a forma de trabalhar com esse framework. Esse exemplo será bem simples, mostrando apenas como fazer uma requisição e o redirecionamento para outra action, isso sem utilizar XML, sem herdar de ActionSupport, sem implementar Action ou nada que é comumente usado. Aqui, só será necessário fazer uso do pacote de convenções do Struts 2 e de algumas de suas anotações. Primeiro, a configuração. Abaixo, o [build.gradle][2] do... Continue lendo →