Fernando OliveiraIntrodução ao Struts 2
Sobre mim…• Atualmente – Analista de Sistemas na NYX Knowledge (www.nyxk.com.br)– Tecnologias: C, C++, Objective C, Python...
O que é o StrutsUm framework para o desenvolvimento deaplicações WEB
Algumas Características
Fortemente baseado nos padrõesMVC e FrontController
MVC – Model View Controller
Obtendo o Strutshttp://struts.apache.org/
Jars Obrigatórios• commons-fileupload-1.2.2.jar• commons-io-2.0.1.jar• commons-lang-2.5.jar• commons-logging-1.1.1.jar• co...
Configurando o Struts
Configurando o filtro do Struts no arquivo web.xml<filter><filter-name>struts2</filter-name><filter-class>org.apache.strut...
Criando o arquivo struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//D...
ActionsSerão os nossos Controllers1. Fornecem dados para serem exibidos na view2. Recebem dados das requisições3. Executam...
Como criar uma Action?!Uma action é apenas uma classe Java que herda da classeActionSupport
Nossa primeira Actioncontrole.actions.CadastrarUsuarioAction.javapackage controle.actions;import com.opensymphony.xwork2.A...
Agora é necessário definir a nossaAction no arquivo Struts.xml<action name="CadastrarUsuario” class="controle.actions.Cada...
MétodosSempre que uma Action for acionada, porpadrão, o método execute() será disparado.Ele tem a seguinte estrutura:publi...
Action ResultsMétodo execute irá definir qual a próxima páginadeverá ser chamada.Para isso precisamos mapear os resultados...
Conjunto Padrão de Resultados• SUCCESS• NONE• ERROR• INPUT• LOGINExemplo:public String execute() throws Exception {return ...
PropertiesTambém podemos definir propriedades para seremacessadas nas views.Exemplo:public class TesteAction extends Actio...
Acessando as propriedades<%@ taglib prefix="s" uri="/struts-tags" %><%@ page language="java" contentType="text/html; chars...
Outras TAGS<s:iterator value="usuarios" status="status"><tr style="background-color: ${status.even ? ’#EEEEEE’ : ’#FFFFFF’...
Introdução ao struts 2
Introdução ao struts 2
Upcoming SlideShare
Loading in...5
×

Introdução ao struts 2

244

Published on

Apresentação utilizada durante de aula de desenvolvimento para a web com Java na Bessa`s Technology

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
244
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Introdução ao struts 2"

  1. 1. Fernando OliveiraIntrodução ao Struts 2
  2. 2. Sobre mim…• Atualmente – Analista de Sistemas na NYX Knowledge (www.nyxk.com.br)– Tecnologias: C, C++, Objective C, Python, Java, Javascript e MySQL• 2012 – Desenvolvedor Bolsista do Projeto SIGA-EPCT no IFAL– Tecnologias: Java, JSF, JPA, EJB e PostgreSQL• 2012 – Sócio Proprietário Oneicon Mobile e Mídias Digitais– Tecnologias: Java, Ruby, Ruby on Rails, JSF, Hibernate, JPA, PostgreSQL, etc..• 2010 à 2012 – Desenvolvedor na Aloo Telecom (www.aloo.com.br)– Java, PHP, MySQL, JavaScript, HTML e CSS• 2008 à 2010 – Suporte Técnico Aloo Telecom (www.aloo.com.br)
  3. 3. O que é o StrutsUm framework para o desenvolvimento deaplicações WEB
  4. 4. Algumas Características
  5. 5. Fortemente baseado nos padrõesMVC e FrontController
  6. 6. MVC – Model View Controller
  7. 7. Obtendo o Strutshttp://struts.apache.org/
  8. 8. Jars Obrigatórios• commons-fileupload-1.2.2.jar• commons-io-2.0.1.jar• commons-lang-2.5.jar• commons-logging-1.1.1.jar• commons-logging-api.1.1.jar• freemarker-2.3.18.jar• ognl-3.0.4.jar• struts2-core-2.3.1.2.jar• xwork-core-2.3.1.2.jar• javassist-3.11.0.GA.jar
  9. 9. Configurando o Struts
  10. 10. Configurando o filtro do Struts no arquivo web.xml<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><param-name>actionPackages</param-name><param-value>com.foo.bar,com.baz.quux</param-value></init-param></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
  11. 11. Criando o arquivo struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.devMode" value="true" /><package name="default" extends="struts -default"><action name="index"><result>/Index</result></action></package></struts>src/struts.xml
  12. 12. ActionsSerão os nossos Controllers1. Fornecem dados para serem exibidos na view2. Recebem dados das requisições3. Executam as ações solicitadas pelo usuário
  13. 13. Como criar uma Action?!Uma action é apenas uma classe Java que herda da classeActionSupport
  14. 14. Nossa primeira Actioncontrole.actions.CadastrarUsuarioAction.javapackage controle.actions;import com.opensymphony.xwork2.ActionSupport;public class CadastrarUsuarioAction extends ActionSupport {private static final long serialVersionUID = 1L;@Overridepublic String execute() throws Exception {return super.execute();}}
  15. 15. Agora é necessário definir a nossaAction no arquivo Struts.xml<action name="CadastrarUsuario” class="controle.actions.CadastrarUsuarioAction"></action>Para definir uma action precisamos irformaro seu nome e a classe…
  16. 16. MétodosSempre que uma Action for acionada, porpadrão, o método execute() será disparado.Ele tem a seguinte estrutura:public String execute() throws Exception {return super.execute();}
  17. 17. Action ResultsMétodo execute irá definir qual a próxima páginadeverá ser chamada.Para isso precisamos mapear os resultados possíveisno Struts.xml<action name="CadastrarUsuario" class="controle.actions.CadastrarUsuarioAction"><result name="success">/visao/Login.jsp</result></action>
  18. 18. Conjunto Padrão de Resultados• SUCCESS• NONE• ERROR• INPUT• LOGINExemplo:public String execute() throws Exception {return CadastroUsuarioAction.SUCCESS;}
  19. 19. PropertiesTambém podemos definir propriedades para seremacessadas nas views.Exemplo:public class TesteAction extends ActionSupport {private String nome;public String execute() throws Exception {return CadastroUsuarioAction.SUCCESS;}public String getNome () {return this.nome;}}
  20. 20. Acessando as propriedades<%@ taglib prefix="s" uri="/struts-tags" %><%@ page language="java" contentType="text/html; charset=US-ASCII"pageEncoding=”UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Insert title here</title></head><body>Nome: <s:property value=”nome" /></body></html>
  21. 21. Outras TAGS<s:iterator value="usuarios" status="status"><tr style="background-color: ${status.even ? ’#EEEEEE’ : ’#FFFFFF’}"><td><s:property value="id"/></td><td><s:property value="nome"/></td><td><s:property value="username"/></td><td><s:property value="password"/></td><td><s:a action="UsuarioPreparaAlteracao" > alterar<s:param name="usuario.id" value="id"/></s:a></td><td><s:a action="UsuarioRemove" > remover<s:param name="usuario.id" value="id"/></s:a></td></tr></s:iterator>

×