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:

 

ww2fig01.JPG

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.

 

ww2fig02.JPG

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.

 

ww2fig03.JPG 

 

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

 

ww2fig04.JPG


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

 

ww2fig05.JPG 

 

 


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

 

ww2fig06.JPG


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:

 

ww2fig07.JPG       ww2fig08.JPG

 

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)