131841990 primeros pasos usando struts y eclipse tutorial

32
7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 1/32 Primeros pasos usando struts y eclipse tutorial Esta tutorial explicará los primeros pasos usando los struts de Apache como framework para internet y eclipse como ambiente de desarrollo. Crearemos un ejemplo simple de una aplicaión para biblioteca usando plugins libres como la consola Struts y !"SS #$E. Información General Autor % Sebastian &ennebr'der Sascha (olski http%))www.laliluna.de)tutorials.html  *utoriales para Struts+ E!+ eclipse y xdoclet. Traducción: Sebastian Arechederreta Dato % Enero+ ,- th ,-- Herramientas De Desarrollo Eclipse /.x Consola struts !"SS #$E 0al usar !"SS1 Sysdeo plugin 0al usar *omcat1 Código fuente: http%))www.laliluna.de)assets)tutorials)first2steps2with2struts.3ip Uso del código fuente. El código fuente no incluye ninguna de las bibliotecas solo los fuentes. Cree un proyecto web+ agregue las bibliotecas manualmente seg4n lo explicado en este tutorial. 5uego extraiga los códigos fuentes+ 6ue proporcionamos+ a su proyecto. La ersión pdf de este tutorial !en ingl"s#. http%))www.laliluna.de)assets)tutorials)first2steps2with2struts2es.pdf Ta$la de contenido 7rimeros pasos usando struts y eclipse 8 #nformación general 8

Upload: richar-cruzado-vallejos

Post on 10-Jan-2016

220 views

Category:

Documents


0 download

DESCRIPTION

Manual de Struts

TRANSCRIPT

Page 1: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 1/32

Primeros pasos usando struts y eclipse tutorial

Esta tutorial explicará los primeros pasos usando los struts de Apache como framework para internet yeclipse como ambiente de desarrollo. Crearemos un ejemplo simple de una aplicaión para bibliotecausando plugins libres como la consola Struts y !"SS #$E.

Información General

Autor %

Sebastian &ennebr'der 

Sascha (olski

http%))www.laliluna.de)tutorials.html  *utoriales para Struts+ E!+ eclipse y xdoclet.

Traducción:

Sebastian Arechederreta

Dato %

Enero+ ,- th ,--Herramientas De Desarrollo

Eclipse /.x

Consola struts

!"SS #$E 0al usar !"SS1

Sysdeo plugin 0al usar *omcat1

Código fuente:

http%))www.laliluna.de)assets)tutorials)first2steps2with2struts.3ip

Uso del código fuente.

El código fuente no incluye ninguna de las bibliotecas solo los fuentes. Cree un proyecto web+ agregue las

bibliotecas manualmente seg4n lo explicado en este tutorial. 5uego extraiga los códigos fuentes+ 6ueproporcionamos+ a su proyecto.

La ersión pdf de este tutorial !en ingl"s#.

http%))www.laliluna.de)assets)tutorials)first2steps2with2struts2es.pdf 

Ta$la de contenido

7rimeros pasos usando struts y eclipse 8

#nformación general 8

Page 2: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 2/32

9e6uisitos 8

#nstalación de la consola struts ,

Crear un proyecto web ,

 Agregando soporte struts ,

Crear una página de bien:enida por defecto ;

<lobal Action =orwards y Action >apping

Caso de uso% lista de libros ?

Caso de uso% Agregar+ editar y borrar datos 8

Cambios a la lista de libros S7 ,8

7rueba de la aplicación ,,

%e&uisitos

9e6uerimientos para la instalación de !"SS #$E+ cuando está utili3ando !"SS como ser:idor deaplicación. @na tutorial de cómo crear y distribuir proyectos web con la !"SS #$E se puede encontrara6u.

http%))www.laliluna.de)webprojectsBeclipseBjbossideBtutorialBen.html

Cuando se utili3a *omcat+ se puede utili3ar el plugin de eclipse

http%))www.sysdeo.com)eclipse)tomcat7lugin.html

como alternati:a.

Instalación de la consola struts

$escargue los fuentes del website

http%))www.jamesholmes.com)struts)console)

$escomprima el archi:o y copie el directorio

com.jamesholmes.console.struts

a la carpeta de plugins de eclipse

#nicie eclipse y eso es todo.

Cree un proyecto 'e$

5a creación de un proyecto web con la #$E !"SS se explica en este tutorial

http%))www.laliluna.de)webprojectsBeclipseBjbossideBtutorialBen.html

Page 3: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 3/32

el cuál fue mencionado en los re6uisitos. $esarrolle un proyecto web como se explica all.

Agregando soporte struts

7or ahora el proyecto es un proyecto normal de EE+ as 6ue necesitamos agregar las capacidades de losstruts 0bibliotecas+ archi:os xml...1. 5a manera más fácil es copiar un poryecto struts en blanco en su

proyecto.

@sted puede descargar un proyecto en blanco a6u.

http%))www.laliluna.de)assets)tutorials)strutsBblancBprojectB8.,.3ip

$escomprima el contenido del proyecto struts en blanco en el espacio de trabajo de eclipse donde esta suproyecto.

 Actualice el proyecto en el explorador del pa6uete presionando el botón derecho del ratón B el comandoDrefreshD 0Actuali3ar1.

Su proyecto ahora se parece el siguiente.

 Agregando las bibliotecas de struts

 Ahora usted debe agregar las bibliotecas a su classpath. !otón derecho sobre el proyecto y seleccioneDpropertiesD en el men4 de contexto.

Page 4: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 4/32

Seleccione Da:a !uild 7athD y DAdd jarsD en la leng'eta de las bibliotecas.

 

Page 5: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 5/32

@sted encontrará los archi:os A9 en Pro(ect ) *e$%oot ) *+,-I/ ) li$ . @tilice S&#=* para

seleccionar m4ltiples archi:os jar.

Page 6: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 6/32

5as bibliotecas de struts ahora aparecerán en el explorador de pa6uete.

Cree una p0gina de $ienenida por defecto

!ien+ ahora deseamos crear una página por defecto. !otón derecho 0s otra :e31 en la carpeta (eb9ooten el proyecto y elija Few S7. Si usted no puede encontrar esta opción+ seleccione DotherD yentonces S7.

G@sted debe tener instalado el !"SS #$EH

Page 7: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 7/32

Cree un S7 nue:o en el directorio (eb9oot.

@sted encontrará el archi:o index.jsp en la carpeta (eb9oot del proyecto. $ebemos agregar lasbibliotecas de eti6ueta de struts a nuestro S7. Fecesitamos bibliotecas de eti6ueta 0*ag 5ibraries1parautili3ar eti6uetas de struts en un S7. En este caso necesitamos solamente la biblioteca de la leng'eta dela lógica de struts. Cambie su contenido de S7 al siguiente.

  <% @page contentType="text/html" %> <% @page language="Java" %> <% @taglib uri="http://jakarta.apache.org/struts/tags-logic"

 prefix="logic" %>

<logic:forward name="welcome"/

5a eti6ueta logic%forward hace 6ue Struts bus6ue una redirección 0forward1 en el archi:o de configuración.Cuando no se puede encontrar esta redirección occure una excepción. Explicamos la action forward en elcaptulo siguiente.

Cree un segundo S7 index.jsp en el directorio)(eb9oot)jsp.Cambie el S7 a lo siguiente%

Page 8: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 8/32

<! page language="java"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-html"

prefix="html" !

<$%&'()*+ ,( *01' "-//23'//%(% ,( 4.56 (ransitional//+7"

<html:html locale="true"  <head

  <html:#ase /

  <titleindex.jsp</title

  <meta http-e8uiv="pragma" content="no-cache"

  <meta http-e8uiv="cache-control" content="no-cache"

  <meta http-e8uiv="expires" content="5"

  <meta http-e8uiv="ke9words" content="ke9word6ke9word;ke9word3"

  <meta http-e8uiv="description" content="+sta es mi pgina"

  </head

  <#od9

  0ienvenido$

  <#r

  <html:link action="#ookist"ostrar lista de li#ros</html:link

  </#od9

</html:html

Glo$al Action /or'ards y Action 1appings

23u" es una acción de redirección !action for'ard#4@na acción de redirección se puede utili3ar para redireccionar a un jsp o a un mapa de acción 0actionmapping1. &ay dos acciones de redirección diferentes. 5a redirección de acción global y la de acción local.@sted puede tener acceso a una redirección de acción global en cada jsp o en la clase Action. @naredirección de acción local solamente puede ser accedida por la clase asignada.

23u" es un mapa de acción !action mapping#4El mapa de acción es el cora3ón de struts. >aneja todas las acciones entre la aplicación y el usuario.@sted puede definir 6uI acción será ejecutada creando un mapa de acción 0Action >apping1.

El diagrama le muestra+ cómo el ser:idor de aplicación maneja la petición del index.jsp o una acción nomapeada.

Page 9: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 9/32

En el primer paso creamos una nue:a acción mapeada. Abra el archi:o strutsBconfig.xml de laconfiguración de struts+ 6ue está situado en (eb9oot)(E!B#F=. Se abre la consola de struts. 0si no+botón derecho sobre strutsBconfig.xml y seleccióne Dopen withD.

>ar6ue Action >apping y y seleccione Add.

Escriba )default como 7ath y seleccione el tipo de acción =orward. @saremos como página debien:enida )jsp)default.js

p

En el paso siguiente crearemos la acción global forward. >ar6ue D<lobal =orwardsD+ seleccione DaddD.

Elija )default.do como 7ath+ 6ue es la acción 6ue especificamos antes.

Caso de uso: Listar los li$ros

Page 10: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 10/32

@na acción de struts siempre hace una cierta lógica del negocio y guarda el resultado en una clase deltipo Action=orm. 5os datos del Action=orm se pueden mostrar en un S7.

Fuestra Action leerá datos de una base de datos+ guardandolos en Action=orm. El S7 exhibirá nuestrosdatos.

Crear una clase "Libro" (?Book?)

Cree una clase nue:a 5ibro en el pa6uete de.laliluna.tutorial.library.

Page 11: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 11/32

5a clase 5ibro representa un libro con las propiedades% id+ autor+ ttulo y disponibilidad.0id+ author+ title ya:ailable1Cree cuatro :ariables.

Cree un getter y un setter para cada una de las :ariables. !otón derecho en su clase+ Source <enerate<etters and Setters

Elija seleccionar todo 0Select All1 y 5ast >ethod en #nsertion 7oint

Page 12: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 12/32

Page 13: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 13/32

 Agregue dos constructores a la clase para fijar las propiedades en la iniciali3ación de la clase.

// Contructor public Book(){ }

Page 14: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 14/32

 

// Contructor para propieae! iniciale! public Book(long i" #tring aut$or" #tring title" boolean aailable) {t$i!&i = i't$i!&aut$or = aut$or't$i!&title = title'

t$i!&aailable = aailable'}

5+so es todo para nuestra clase li$ro6

Crear un form bean, action form y jsp

Cree una nue:a sub clase de Action=orm. El Action=orm contendrá nuestros libros para exhibirlos en el

S7.

 

Page 15: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 15/32

Page 16: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 16/32

En nuestra clase hemos definido cada :e3 una colección de libros y los

mItodos de acceso 0getters y setters1.El mItodo reset es llamado por strutscada :e3 6ue un formulario es iniciali3ado. Cuando su estructura es re6uerida+Iste es en cada petición.

Crear un Action !apping y una Action Class

Cree una clase !ook5istAction. Esta clase carga los libros de la base de datosy los guarda en !ook5ist=orm.

Page 17: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 17/32

Page 18: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 18/32

Cambie el código fuente de la clase Action

 Abra la clase book5istAction e implemente el mItodo execute desde la superclase Action=orm.5a llamada siguiente mapping.find=orward0Dshow5istD1 busca un forward con elnombre Dshow5istD en la declaración del Action >apping el declaración y seredirecciona.

/,,> ethod execute

 > param mapping

 > param form > param re8uest

 > param response

 > return CctionForward

 >/

 pu#lic CctionForward execute?

  Cctionapping mapping

  CctionForm form

  ,ttpDervletEe8uest re8uest

  ,ttpDervletEesponse response@ A

  0ookistForm #ookistForm = ?0ookistForm@ form

 

/> lalinuna.de 53.66.;554  > inicia la clase Dimulate%0 9 pone algunos datos

  >/

  Dimulate%0 simulate%0 = new Dimulate%0?@

  #ookistForm.set0ooks?simulate%0.getCll0ooks?re8uest.getDession?@@

@

 

return mapping.findForward?"showist"@

 B

Clase imulate#B

Fo utili3aremos una base de datos :erdadera en este tutorial sino unasimulación de la base de datos. Copie el archi:o Simulate$!.ja:a del códigofuente 6ue proporcionamos como una descarga arriba del pa6uetede.laliluna.tutorial.library.

Page 19: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 19/32

Configuración struts para la lista de libros

Cree una nue:a Action >apping con la consola de struts. 5a ruta debecomen3ar con un )+ el tipo es la acción 6ue acabamos de crear.

>ar6ue en Action >apping en la consola Struts para acceder a la configuracióna:an3ada.

Page 20: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 20/32

Cree un =orward pata la Action >apping del S7 con el nombre show5ist

Page 21: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 21/32

Crear la lista de libros $% 

Cree un nue:o S7 en la carpeta )jsp) + nombrelo book5ist.jsp .

<! page language="java"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-#ean"prefix="#ean"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-html"

prefix="html"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-logic"

prefix="logic"!

<html

<head

<titleDhow #ook list</title

</head

<#od9

<ta#le #order="6"

 <t#od9

 <!-- set the header --!

 <tr

 <tdCuthor</td

 <td0ook name</td

 <tdCvaila#le</td

 <tdGn#sp</td

 <tdGn#sp</td

 </tr

 <!-- check if #ook exists and displa9 message or iterate over #ooks

--!

 <logic:empt9 name="#ookistForm" propert9="#ooks"

 <tr

 <td colspan="H"7o #ooks availa#le</td

 </tr

 </logic:empt9

 <logic:not+mpt9 name="#ookistForm" propert9="#ooks"

 <logic:iterate name="#ookistForm" propert9="#ooks" id="#ook"

 <tr

 <!-- print out the #ook informations --!

 <td<#ean:write name="#ook" propert9="author" /</td

 <td<#ean:write name="#ook" propert9="title" /</td

 <td<html:check#ox disa#led="true" name="#ook" propert9="availa#le"

/

 </td

 <!-- print out the edit and delete link for each #ook --!

 <td<html:link action="#ook+dit.doIdo=edit0ook" param7ame="#ook"

 param*ropert9="id" param1d="id"+dit</html:link</td

 <td<html:link action="#ook+dit.doIdo=delete0ook" param7ame="#ook"

 param*ropert9="id" param1d="id"%elete</html:link</td

 </tr

 </logic:iterate

 </logic:not+mpt9

 

<!-- end interate --!

 </t#od9

</ta#le

</#od9

</html

Page 22: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 22/32

5a marca Jlogic%iterate recorre la colección de libros del form beanbook5ist=ormCon la marca Jlogic%iterate se tiene acceso a las propiedades de un libro. 5amarca Jbean%write muestra la propiedad 0author+ title1 de la posición actual.Jhtml%checkbox crea una casilla de :erificación.

Esto es producción fuuuhh+ tenemos nuestro form !ean con una Action =ormClass+ nuestro Action >apping con su Action Class y S7+ y los ser:iciosnecesarios acti:os.

>uy bien. *enemos 6ue crear un action class 6ue gaurde los datos en unaction form. 7ara mostrar la lista de libros hemos creado un S7 6ue utili3a losdatos en action form. =ácil+ no.

Si 6uiere puede hacer una prueba de la aplicación ahora. >ire al final deltutorial como probarla.

Caso de uso: Agregar7 editar y $orrar datos

En la sección siguiente agregamos las funcionalidades de Agregar+ Editar y!orrar datos. El proceso es el mismo%

•  Action•  Action=orm•

Configuración Struts

&ue'o form bean

Cree una nue:a clase como action form en el pa6uetede.laliluna.tutorial.library.form . $enominelo !ookEdit=orm.

 Agregue una nue:a instancia de libro 0!ook1.

0ook #ook = new 0ook?@

<enere los getters y setters. 5uego herede todos los mItodos de la clase !ook.

Page 23: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 23/32

El código fuente debera ser como este%

 public cla!! Book-itor* exten! +ctionor* {  Book book = ne. Book()' 

 public Book getBook() {  return book'  }   public oi !etBook(Book book) {  t$i!&book = book'  }   public boolean eual!(0b1ect arg2) {  return book&eual!(arg2)'  }   public #tring get+ut$or() {  return book&get+ut$or()'  }   public long get3() {  return book&get3()'  }   public #tring getTitle() {

  return book&getTitle()'  }   public int $a!$Coe() {  return book&$a!$Coe()'  }   public boolean i!+ailable() {  return book&i!+ailable()'  }   public oi !et+ut$or(#tring aut$or) {   book&!et+ut$or(aut$or)'  }   public oi !et+ailable(boolean aailable) {   book&!et+ailable(aailable)'

  }   public oi !et3(long i) {

Page 24: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 24/32

   book&!et3(i)'  }   public oi !etTitle(#tring title) {   book&!etTitle(title)'  }   public #tring to#tring() {

  return book&to#tring()'  }}

 Ahora podemos acceder a los atributos de libro en el action form.

Crear la action class

Cree una nue:a clase. Esta :e3 la clase no es una sub clase de Action pero s

de org.apache.struts.$ispatchAction.

@n $ispatchAction no ejecuta mItodos pero puede tener diferentes mItodosdependiendo del parámetro. Con el parámetro podemos decidir si el mItodollamado es crear)editar)borrar.

Page 25: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 25/32

Page 26: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 26/32

  /, lalinuna&e 27&88&9227  , inicia la cla!e #i*ulateB y borra un libro !egn el i   ,/  #i*ulateB !i*ulateB = ne. #i*ulateB()'  !i*ulateB&eleteBookBy3(i" reue!t&get#e!!ion())' 

return *apping&finor.ar(;!$o.i!t;)' 

}

El mItodo delete!ook obtiene el id de la solicitud y elimina el libro de la basede datos simulada. El forward show5ist actuali3a la lista de libros con la páginabook5ist.jsp

/,,, 4et$o aBook

 , @para* *apping , @para* for* 

 , @para* reue!t , @para* re!pon!e , @return +ctionor.ar  ,/

 public +ctionor.ar aBook(   +ction4apping *apping"   +ctionor* for*"  5ttp#erlet6eue!t reue!t"  5ttp#erlet6e!pon!e re!pon!e) {  Book-itor* book-itor* = (Book-itor*) for*' 

return *apping&finor.ar(;!$o.+;)' 

}

El mItodo add!ook se refiere a la página bookAdd.jsp

/,,, 4et$o !aeBook

 , @para* *apping , @para* for*  , @para* reue!t , @para* re!pon!e , @return +ctionor.ar  ,/

 public +ctionor.ar !aeBook(

   +ction4apping *apping"   +ctionor* for*"  5ttp#erlet6eue!t reue!t"  5ttp#erlet6e!pon!e re!pon!e) {  Book-itor* book-itor* = (Book-itor*) for*' 

/, lalinuna&e 27&88&9227  , inicia la cla!e #i*ulateB y obtiene lo! ato! !egn i   ,/  #i*ulateB !i*ulateB = ne. #i*ulateB()'  !i*ulateB&!aeToB(book-itor*&getBook()"reue!t&get#e!!ion())' 

return *apping&finor.ar(;!$o.i!t;)'}

Page 27: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 27/32

El 4ltimo mItodo obtiene el libro del form bean bookEdit=orm y lo guarda en labase de datos simulada. 5uego la aplicación muestra la lista de libros.

Configuración truts

Cree un nue:o form bean con la consola struts.

Cree un nue:o actionmapping. Como

parámetroespecifi6ue do. Este parámetro es necesario para el $ispatchAction.

Cambie el Action.

Page 28: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 28/32

Cree tres forwards en la leng'eta forward tab. @no para el S7 6ue edita+otro para el S7 6ue agrega y otro para el 6ue muestra la lista de libros.

El 4ltimo forward no irá a ningun S7 pero s a otra acción.

Cree un S7llamadobookAdd.jsp

en la carpeta )(eb9oot)jsp. El forward showAdd apuntará a esta página.

Cambie el código fuente del $% 

 Abra el archi:o bookAdd.jsp y agregue el siguiente código.

 

 <%@ page language=;1aa;%>  <%@ taglib uri=;$ttp//1akarta&apac$e&org/!trut!/tag!?bean; prefix=;bean;%> <%@ taglib uri=;$ttp//1akarta&apac$e&org/!trut!/tag!?$t*l; prefix=;$t*l;%>  <%@ taglib uri=;$ttp//1akarta&apac$e&org/!trut!/tag!?logic; prefix=;logic; %>  

 <$t*l> <$ea>   <title>+gregar un libro</title>   </$ea>   <boy>   <%?? crear un for*ulario $t*l ??%>   <$t*lfor* action=;book-it;>   <%?? 4o!trar lo! ato! el for*ulario ??%>   <table borer=;8;>   <tr>   <t>+utor</t>   <t><$t*ltext property=;aut$or; /></t>   </tr>   <tr>   <t>Ttulo</t>   <t><$t*ltext property=;title; /></t>   </tr>   <tr>   <t>i!ponible</t>   <t><$t*lc$eckbox property=;aailable; /></t> 

Page 29: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 29/32

  </tr>   <tr>   <t col!pan=;9;>   <$t*l!ub*it>Auarar</$t*l!ub*it>   </t>   </tr> 

  </table>   <%?? fi1ar el par*etro para i!patc$ action ??%>   <$t*l$ien property=;o; alue=;!aeBook; /> </$t*lfor*>   </boy> 

 </$t*l> 

5a eti6ueta Jhtml%form crea un nue:o formulario &*>5 y se refiere con elparámetro actionKbookEdit al action mapping. 5a eti6ueta Jhtml%text creaun campo de texto con la propiedad autor del libro.

Jhtml%hidden es un campo oculto con el nombre do. Fecesitamos este campooculto+ por6ue le dice a la clase dispatch action 6ue mItodo será llamado.

 Abra el archi:o bookEdit.jsp. 7uede usar el código del archi:o bookAdd.jsp ycambiar las siguientes lneas.

<title+ditar un li#ro</title

 Agregue la siguiente lnea Jhtml%hidden propertyKDdoD :alueKDsa:e!ookD )

 <%?? Ca*po oculto ue contiene el i el libro ??%>  <$t*l$ien property=;i; /> 

Cam$ios a la lista de li$ros 89P

A$ra el arcio $oo;List.(sp y cam$ie el código fuente:

 

<! page language="java"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-#ean"

prefix="#ean"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-html"

prefix="html"!

<! tagli# uri="http://jakarta.apache.org/struts/tags-logic"

prefix="logic"!

<html

<head

<titleDhow #ook list</title

</head

<#od9

<ta#le #order="6"

 <t#od9

Page 30: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 30/32

 <!-- set the header --!

 <tr

 <tdCuthor</td

 <td0ook name</td

 <tdCvaila#le</td

 <tdGn#sp</td

 <tdGn#sp</td </tr

 <!-- check if #ook exists and displa9 message or iterate over #ooks

--!

 <logic:empt9 name="#ookistForm" propert9="#ooks"

 <tr

 <td colspan="H"7o #ooks availa#le</td

 </tr

 </logic:empt9

 <logic:not+mpt9 name="#ookistForm" propert9="#ooks"

 <logic:iterate name="#ookistForm" propert9="#ooks" id="#ook"

 <tr

 <!-- print out the #ook informations --!

 <td<#ean:write name="#ook" propert9="author" /</td

 <td<#ean:write name="#ook" propert9="title" /</td

 <td<html:check#ox disa#led="true" name="#ook" propert9="availa#le"

/

 </td

 <!-- print out the edit and delete link for each #ook --!

 <td<html:link action="#ook+dit.doIdo=edit0ook" param7ame="#ook"

 param*ropert9="id" param1d="id"+dit</html:link</td

 <td<html:link action="#ook+dit.doIdo=delete0ook" param7ame="#ook"

 param*ropert9="id" param1d="id"%elete</html:link</td

 </tr

 </logic:iterate

 </logic:not+mpt9

 <!-- print out the add link --!

 <tr

 <td colspan="H"<html:link action="#ook+dit.doIdo=add0ook"Cdd a new

#ook</html:link

 </td

 </tr

 <!-- end interate --!

 </t#od9

</ta#le

</#od9

</html

 Ahora+ hemos finali3ado toda la codificación y podemos probar la aplicación.

Prue$a de la aplicación

#nicie jboss y con:ierta el proyecto a un archi:o pa6uete. 0Esto está explicadoen el tutorial !"SS #$E+ mencionado anteriormente1.

5lame al proyecto en su na:egador fa:orito%

http%))localhost%L-L-)5ibrary(eb)

Page 31: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 31/32

=elicitaciones+ estas muy cerca de ser un experto en struts. MB1

Page 32: 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

7/18/2019 131841990 Primeros Pasos Usando Struts y Eclipse Tutorial

http://slidepdf.com/reader/full/131841990-primeros-pasos-usando-struts-y-eclipse-tutorial 32/32