creación aplicación web base struts2

31
Creación aplicación base Struts2 Clase 11- 12

Upload: pablo-caceres

Post on 13-Jun-2015

2.099 views

Category:

Technology


0 download

DESCRIPTION

Desarrollo Web Struts2

TRANSCRIPT

Page 1: Creación aplicación Web base struts2

Creación aplicación base Struts2

Clase 11- 12

Page 2: Creación aplicación Web base struts2

Crear Aplicación EmpresarialClick New Enterprise Application Project

Page 3: Creación aplicación Web base struts2

Seleccionar servidor de aplicacionesNew Target Runtime Jboss Jboss 5.0

Page 4: Creación aplicación Web base struts2

Seleccionar servidor de aplicaciones

Buscar carpeta base del JBOSS instalado

Page 5: Creación aplicación Web base struts2

Seleccionar servidor de aplicaciones

Page 6: Creación aplicación Web base struts2

Ingresar nombre del proyecto

Page 7: Creación aplicación Web base struts2

Agregar Módulos EJB y Web• Click en NEW MODULE y Seleccionar EJB Module y Web Module

Page 8: Creación aplicación Web base struts2

Instalación de aplicación Web del Profe1.-Copiar del proyecto Web Enviado las carpetas SRC y WebContent a la carpeta Base del proytecto creado que se ubicará en : C:\Users\<Usuario>\workspace\AplicacionEmpresarialWeb y reemplazar Todo

Page 9: Creación aplicación Web base struts2

Instalación de aplicación Web del Profe2.- Actualizar el proyecto creado para que aparezcan los archivos copiados

Page 10: Creación aplicación Web base struts2

Agregar las librerías Struts2 para la ejecución

1.- Click derecho sobre la aplicación Web2.- Propiedades Java Build Path Libraries Add JARs

Page 11: Creación aplicación Web base struts2

Agregar las librerías Struts2 para la ejecución

3.- Seleccionar JAR de la carpeta LIB ubicada en WebContent WEB-INF del proyecto creado

Page 12: Creación aplicación Web base struts2

Ejecutar la aplicación creada1.- Click derecho sobre aplicación Web RUN AS Run on Server

Page 13: Creación aplicación Web base struts2

Crear una aplicación Struts2 Base

1.- Crear Formuario JSP :1.1 Crear carpeta ingreso donde se coloquen los JSP a crear

Page 14: Creación aplicación Web base struts2

Crear Formulario JSP

1.-Click derecho sobre carpeta ingreso JSP File2.- Crear index.jsp , formulario.jsp, resultado.jsp

Page 15: Creación aplicación Web base struts2

index.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!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=ISO-8859-

1"> <title>Struts 2 Form Tags - Welcome</title> </head> <body> <h1>Pagina de edicion</h1>

<p><a href='<s:url action="edit" />' >Editar Información</a></p>

</body> </html>

Page 16: Creación aplicación Web base struts2

Formulario.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<s:head />

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Editar Persona</title>

</head>

<body>

<h1>Actualizar</h1>

<s:form action="save" method="post">

<s:textfield key="personBean.firstName" />

<s:textfield key="personBean.lastName" />

<s:select key="personBean.sport" list="sports" />

<s:radio key="personBean.gender" list="genders" />

<s:select key="personBean.residency" list="states" listKey="stateAbbr" listValue="stateName" />

<s:checkbox key="personBean.over21" />

<s:checkboxlist key="personBean.carModels" list="carModelsAvailable" />

<s:submit key="submit" />

</s:form>

</body>

</html>

Page 17: Creación aplicación Web base struts2

Resultado.jsp <?xml version="1.0" encoding="ISO-8859-1" ?> <%@ taglib prefix="s" uri="/struts-tags" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Update Successful</title> </head> <body>

<h1>Updated Information</h1>

<p>Infomacion Ingresada <s:property value="personBean" /> </p>

<p><a href="<s:url action='index' />" >Regresar</a>.</p>

</body> </html>

Page 18: Creación aplicación Web base struts2

Crear Helper EditPersonHelper.java Crear Package : com.aplicacion.presentacion.helper package com.aplicacion.presentacion.helper;

import com.aplicacion.presentacion.model.Person;

/** * Implement Services needed to edit and save * a Person object's state. In this implementation * the Person object's state is stored in memory * @author brucephillips * */ public class EditPersonHelper {

private static Person person ; private static String [] carModels = {"Ford","Nissan"};

Page 19: Creación aplicación Web base struts2

EditPersonHelper.java

static {

person = new Person(); person.setFirstName("Bruce"); person.setLastName("Phillips"); person.setSport("basketball"); person.setGender("not sure"); person.setResidency("KS"); person.setOver21(true); person.setCarModels( carModels);

}

public Person getPerson() {

Page 20: Creación aplicación Web base struts2

EditPersonHelper.java return EditServiceInMemory.person; }

public void savePerson(Person personBean) {

EditServiceInMemory.person.setFirstName(personBean.getFirstName() ); EditServiceInMemory.person.setLastName(personBean.getLastName() ); EditServiceInMemory.person.setSport(personBean.getSport() ); EditServiceInMemory.person.setGender( personBean.getGender() ); EditServiceInMemory.person.setResidency( personBean.getResidency() ); EditServiceInMemory.person.setOver21( personBean.isOver21() ); EditServiceInMemory.person.setCarModels(personBean.getCarModels() );

}

}

Page 21: Creación aplicación Web base struts2

Person.java Crear Package com.aplicacion.presentacion.model package com.aplicacion.presentacion.model;

import java.util.Arrays;

public class Person { private String firstName; private String lastName; private String sport; private String gender; private String residency; private boolean over21; private String [] carModels;

Page 22: Creación aplicación Web base struts2

Person.java

public String getFirstName() { return firstName; }

public void setFirstName(String firstName) { this.firstName = firstName; }

public String getLastName() { return lastName; }

public void setLastName(String lastName) { this.lastName = lastName; }

Page 23: Creación aplicación Web base struts2

Person.java public void setSport(String sport) {

this.sport = sport;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getGender() {

return gender;

}

public String getSport() {

return sport;

}

public void setResidency(String residency) {

this.residency = residency;

}

public String getResidency() {

return residency;

}

public void setOver21(boolean over21) {

this.over21 = over21;

}

Page 24: Creación aplicación Web base struts2

Person.java public boolean isOver21() {

return over21;

}

public void setCarModels(String [] carModels) {

this.carModels = carModels;

}

public String [] getCarModels() {

return carModels;

}

public String toString()

{

return "First Name: " + getFirstName() + " | " +

" Last Name: " + getLastName() + " | " +

" Favorite Sport: " + getSport() + " | " +

" Gender: " + getGender() + " | " +

" Residency: " + getResidency() + " | " +

" Over 21: " + isOver21() + " | " +

" Car models: " + Arrays.asList( getCarModels() ) ;

}

}

Page 25: Creación aplicación Web base struts2

State.java package com.aplicacion.presentacion.model; public class State {

private String stateAbbr; private String stateName; public State (String stateAbbr, String stateName) { this.stateAbbr = stateAbbr; this.stateName = stateName;

} public void setStateAbbr(String stateAbbr) { this.stateAbbr = stateAbbr; } public String getStateAbbr() { return stateAbbr; } public void setStateName(String stateName) { this.stateName = stateName; } public String getStateName() { return stateName; } public String toString() { return getStateAbbr() ; } }

Page 26: Creación aplicación Web base struts2

Crear EditAction.java package com.aplicacion.presentacion.action;

import com.opensymphony.xwork2.ActionSupport;

import java.util.ArrayList; import java.util.Arrays; import java.util.List;

import com.aplicacion.presentacion.model.Person; import com.aplicacion.presentacion.model.State; import com.aplicacion.presentacion.helper.*;

import com.opensymphony.xwork2.ActionSupport;

Page 27: Creación aplicación Web base struts2

public class EditAction extends ActionSupport { private static final long serialVersionUID = 1L; private EditPersonHelper editService = new EditPersonHelper(); private Person personBean; private String [] sports = {"football", "baseball", "basketball" }; private String [] genders = {"male", "female", "not sure" };

private List<State> states ;

private String [] carModelsAvailable = {"Ford","Chrysler","Toyota","Nissan"};

public String execute() throws Exception {

editService.savePerson( getPersonBean() );

return SUCCESS;

}

Page 28: Creación aplicación Web base struts2

public String input() throws Exception {

setPersonBean( editService.getPerson() );

return INPUT; }

public Person getPersonBean() {

return personBean;

}

public void setPersonBean(Person person) {

personBean = person;

}

Page 29: Creación aplicación Web base struts2

public List<String> getSports() { return Arrays.asList(sports); } public List<String> getGenders() { return Arrays.asList(genders);

} public List<State> getStates() { states = new ArrayList<State>(); states.add( new State("AZ", "Arizona") ); states.add( new State("CA", "California") ); states.add( new State("FL", "Florida") ); states.add( new State("KS", "Kansas") ); states.add( new State("NY", "New York") );

return states; } public String [] getCarModelsAvailable() { return carModelsAvailable; } }

Page 30: Creación aplicación Web base struts2

Crear edit.xml para registrar Action <?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="false" />

<package name="editar" extends="struts-default" namespace="/ingreso">

<!-- If no class attribute is specified the framework will assume success and

render the result index.jsp -->

<!-- If no name value for the result node is specified the success value is the default -->

<action name="index">

<result>/index.jsp</result>

</action>

<action name="edit" class="com.aplicacion.presentacion.action.EditAction" method="input">

<result name="input">/ingreso/formulario.jsp</result>

</action>

<action name="save" class="com.aplicacion.presentacion.action.EditAction" method="execute">

<result name="success">/ingreso/resultado.jsp</result>

</action>

</package>

</struts>

Page 31: Creación aplicación Web base struts2

Registrarlo en Struts.xml <include file="edit.xml"/>