Webwork2!
Estarei dando uma rápida introdução a este framework que foi unido ao Struts 1.x e que dara origem ao Struts 2.0
Você conseguirá fazer o download do Webwork2 aqui:
http://www.opensymphony.com/webwork/download.action
Após o download do .zip descompacte o arquivo e adicione os arquivos que estão
dentro do diretorio lib/default e o arquivo webwork2.jar no classpath do seu projeto.
O Webwork2 tem como base o Xwork um command framework genérico.
XWork: http://www.opensymphony.com/xwork/
Ok, vamos ao layout do projeto, visualizar os fontes e as explicações:
Layout do projeto, deve ficar mais ou menos como este:
Temos no topo do projeto o diretório onde estão as classes Java, seguido das paginas JSP e do web.xml e finalizando com os arquivos de configuração.
Vamos começar de baixo para cima, para darmos ênfase ao Webwork2.
xwork.xml = arquivo que contem a configuração das Actions.
Como pode ser visto não há nada de especial na definição da Action.
Apenas definimos o método disparado quando a action de nome saveItem for invocada
e a classe relacionada ao método.
Vamos agora ao web.xml onde registramos o Dispatcher do Webwork2.
Agora vamos aos arquivos JSP, eles são extremamente simples para focar apenas em uma demonstração rápida do Webwork2.
O código apresentado a seguir é referente à cadastraItem.jsp
Declaramos a taglib do Webwork e vamos a construção da pagina,
vou dar uma passada rápida no 3 componentes utilizados.
ww:form é o form onde irão os textfields que serão utilizados pela Action.
Os principais itens deste componente que eu gostaria de dar destaque são: action=”saveItem”,
namespace=”pages”. Que são equivalentes ao que registramos no xwork.xml.
Acredito que pela simplicidade dos outros dois componentes ww:textfield e ww:submit não precisarei estar explicando o que cada um faz.
O código apresentado a seguir é referente à itemCadastrado.jsp
Uma tela apenas para visualizar o que o usuário passou como descrição e mostrando os valores das variáveis, utilizando a tag ww:property.
Agora chegamos ao cume do projeto a classe Java.
O código apresentado a seguir é referente à ItemAction.java
Como podemos ver apenas o método saveItem retornando uma String “success” para o xwork fazer o encaminhamento para o itemCadastrado.jsp, os getters e setters das propriedades foram omitidos.
Agora o resultado:
Documentação do Webwork2: http://www.opensymphony.com/webwork/documentation.action
Documentação do XWork: http://www.opensymphony.com/xwork/documentation.action
Espero com o artigo ter dado uma breve introdução ao Webwork2 e algumas features deste framework que juntamente com o Struts 1.x irão dar origem ao Struts 2.0. (Eclipse 3.2 + WTP + Merve)