Artigo Java Magazine 20 - Struts Multipáginas

Crie uma aplicação Struts com um cadastro em múltiplos passos utilizando recursos do Struts 1.1.

Esse artigo faz parte da revista Java Magazine edição 20. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Struts Multipáginas

Cadastros passo a passo com Struts

Crie uma aplicação Struts com um cadastro em múltiplos passos utilizando recursos do Struts 1.1

O Apache Struts é hoje o mais popular framework MVC para web. Seus recursos atraem os que buscam melhor organização das aplicações, utilização de padrões de projeto na camada web e ganho de produtividade, dentre outros benefícios. Devido à sua API bastante extensa, porém, muitos não extraem todo o potencial do Struts; acabam limitando-se aos recursos básicos do framework como mapeamento e controle de ações, preenchimento de JavaBeans e redirecionamento de páginas de retorno.

Neste artigo vamos criar um cadastro em vários passos (uma funcionalidade muito comum em aplicações web), utilizando diversos recursos interessantes do Struts. Vários desses recursos surgiram no Struts 1.1, mas ainda são pouco conhecidos, entre eles a classe DispatchAction, os DynaActionForms, a tradução automática de beans e validações customizadas. Vários outros artigos da Java Magazine já abordaram conceitos básicos do Struts – consulte as Edições 6 e 7, 11 e 19.

Este artigo tem enfoque bastante prático, desenvolvendo-se em torno de um exemplo único. Em resumo, a aplicação de exemplo é composta por: páginas JSP (o View); extensões de classes do Struts, que fazem o papel do Controller; um DAO (Data Access Object) e JavaBeans, compondo o Model. Como se vê, a aplicação segue a arquitetura MVC (veja mais sobre MVC no artigo "Servlets no Tomcat 5", nesta edição).

Na aplicação de exemplo, os dados são cadastrados em dois passos, um para informações pessoais e outro para as de contato. Ao final é mostrado um resumo dos dados fornecidos. Veja na Figura 1 um diagrama de atividades que mostra o fluxo básico da aplicação, e na Figura 2 a tela inicial, listando os dados de amostra. A Figura 3 mostra os passos do cadastro em execução.

Dinamizando os ActionForms

Sabemos que o Struts suporta o preenchimento automático de beans a partir da submissão de formulários HTML. Para isso basta criar classes que estendam ActionForm e contenham atributos com nomes iguais aos dos tags do formulário, além de fazer configurações simples no struts-config.xml. O quadro "Aplicação mínima com ActionForms comuns" mostra um exemplo (com apenas as partes essenciais de cada arquivo envolvido).

 

Aplicação mínima com ActionForms comuns

Exemplo.jsp

 

...

<form action="acao.do" method="post">

  <input name="nome" type="text">

</form>

...

 

MeuForm.java

 

package forms;

public class MeuForm extends ActionForm {

  private String nome;

  public String getNome() {

return nome;

  }

  public void setNome(String nome) {

this.nome = nome;

  }

}

 

struts-config.xml

 

...

<action path="/acao" 

type="actions.MeuAction"

name="meuForm" />

...

 

MeuAction.java

 

package actions;

public class MeuAction extends Action {

public ActionForward execute(

   ActionMapping mapping, ActionForm form, 

   HttpServletRequest request,

   HttpServletResponse response)"

[...] continue lendo...

Artigos relacionados