quinta-feira, 15 de janeiro de 2009

HelloWorld com Struts 2

Para esta pequena aplicação será utilizado como IDE o eclipese e a versão do struts 2.0.11.
Do pacote lib do struts 2 utilizemos a seguintes bibliotecas:
  • commons-logging.jar
  • freemarker.jar
  • ognl.jar
  • struts2-core.jar
  • xwork.jar

Essas libs deverão estar dentro de WebContent/WEB-INF/lib, esses diretórios são criados automaticamente quando se cria um WebDinamicProject no eclipse.
Primeiro será configurado o arquivo web.xml, serão adicionadas seguintes linhas:

clique aqui para ver o código

Agora criaremos a nossa Action que vai se chamar HelloStruts2, ela será responsável por atribuir a string ”José” para o atributo name da classe, ela deve estender de ActionSupport para que tenha as funcionalidades do Strtus. O struts 2 usa os métodos getter and setters para acessar os atributos da classe. O método execute é o primeiro método que será chamado por padrão na action.

clique aqui para ver o código

Agora criaremos o arquivo struts .xml, que será reponsável pelo mapeamento da action, ele devera estar dentro da pasta src do projeto. na tag colocamos o nome que será chamada a nossa action no atributo name, e o pacote em que a action se localiza no atributo class. Como não estamos especificando nenhum método, por default será chamado o método execute. Na tag configuramos os rsultados que a action pode nos retornar. Neste caso estamos dizendo que a pode retornar a string “execute” e que se retornar a pagina direcionada será a helloStruts.jsp.

clique aqui para ver o código

Agora criaremos a nossa index.jsp, que será a primeira página da aplicação, nela colacamos a taglib do struts, por conversão usamos como prefixo a letra “s”, na tag no atributo href, colocamos o nome da action, a qual foi mapeada no struts.xml. Então quando o link for clicado ele chamará o método execute da nossa action.

clique aqui para ver o código

Por último será criado a página helloStruts.jsp, esta página será chamada quando o link da index.jsp for clicado. E a tag será responsável por pegar o valor do atributo name atribuído na action:

clique aqui para ver o código


Nenhum comentário: