Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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
Nächste SlideShare
Wird geladen in …5
×

Introdução ao struts 2

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

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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>

×