Crud Spring Mvc Port Let

Embed Size (px)

Citation preview

  • Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

    tel./fax: +34 91 675 33 [email protected] - www.autentia.com

    Somos su empresa de Soporte a Desarrollo Informtico.Ese apoyo que siempre quiso tener...

    1. Desarrollo de componentes y proyectos a medida

    TecnologaDesarrolloSistemas

    Gran Empresa

    Produccin

    autentia

    Certificacino Pruebas

    Verificacin previa

    RFP Concurso

    Consultora 1

    Consultora 2

    Consultora 3

    Equipo propio desarrolloPiloto

    3a

    3b

    1. Definicin de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditora preventiva peridica de calidad.5. Revisin previa a la certificacin de proyectos.6. Extensin de capacidad de equipos de calidad.7. Identificacin de problemas en produccin.

    3. Arranque de proyectos basados en nuevas tecnologas

    Qu ofrece Autentia Real Business Solutions S.L?

    Para ms informacin vistenos en: www.autentia.comCompartimos nuestro conociemiento en: www.adictosaltrabajo.com

    Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones hbridas

    Tareas programadas (Quartz)Gestor documental (Alfresco)Inversin de control (Spring)

    BPM (jBPM o Bonita)Generacin de informes (JasperReport)ESB (Open ESB)

    Control de autenticacin y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

    Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

    JPA-Hibernate, MyBatisMotor de bsqueda empresarial (Solr)ETL (Talend)

    Direccin de Proyectos Informticos.Metodologas gilesPatrones de diseoTDD

    2. Auditora de cdigo y recomendaciones de mejora

    4. Cursos de formacin (impartidos por desarrolladores en activo)

  • E-mail:

    Contrasea:

    Inicio Quines somos Tutoriales Formacin Comparador de salarios Nuestro libro Charlas Ms

    Deseo registrarmeHe olvidado mis datos deacceso

    Entrar

    Ests en:Inicio Tutoriales CRUD con Spring MVC Portlet

    Catlogo de serviciosAutentia

    ltimas Noticias

    Hablando decoaching gil,

    milagro nocturo ypruebas de vida

    XIII Charla Autentia- AOS y TDD -

    Vdeos y Material

    Las metodologasgiles como el

    catalizador del cambio

    XIV Charla Autentia -ZK

    Informticaprofesional: Las

    reglas no escritas paratriunfar en la empresa.2 EDICINACTUALIZADA.

    Histrico deNOTICIAS

    ltimos Tutoriales

    REST y como hacercon jQuery un PUT

    hacia Spring MVC

    Seleccin mltiple defilas en un datatable

    con JSF: haciendo usode libreras de

    Share |

    DESARROLLADO POR:Rubn Aguilera Daz-Heredero

    Consultor tecnolgico de desarrollo de proyectosinformticos.

    Ingeniero en Informtica, especialidad en Ingenieradel Software

    Puedes encontrarme en Autentia: Ofrecemos serviciosde soporte a desarrollo, factora y formacin

    Somos expertos en Java/J2EE

    Regstrate para votar

    CRUD con Spring MVC Portlet

    0. ndice de contenidos.

    1. Entorno2. Introduccin3. Creando el proyecto4. Integrando el proyecto con el modelo5. Creando la vista de detalle de la persona6. Dar de alta personas7. Vamos a probarlo8. Conclusiones

    1. Entorno

    Este tutorial est escrito usando el siguiente entorno:

    Hardware: Porttil Mac Book Pro 17" (2,6 Ghz Intel Core i7, 8 GB DDR3)Sistema Operativo: Mac OS X Snow Leopard 10.6.4Spring MVC Portlet 3.0.4Maven 2.2.1Eclipse 3.6 (Helios) con M2EclipseLiferay 6.0.5

    2. Introduccin

    En este tutorial se plantea como continuacin del tutorial Ejemplo bsico con Spring MVC Portlet. Eneste ocasin vamos a "enriquecer" el ejemplo realizando un portlet que nos permita realizar todas lasoperaciones CRUD contra una entidad. Para realizar las operaciones contra la base de datos me voy aapoyar en el proyecto que creamos en este tutorial Librera de acceso a datos con Spring y JPA

    3. Creando el proyecto

    Para crear el proyecto tenemos que seguir los mismos pasos que encontramos en este otro tutorial:

    4Fecha de publicacin del tutorial: 2011-02-15

    Anuncios Google JSP Servlet JSP Shopping Cart Test JSP File

  • Sguenos a travs de:

    componentes.

    Seleccin mltiple defilas en un datatable

    con JSF: hacindolonosotros mismos.

    Gestin del eventode cambio de valor

    en JSF2:valueChangeListener.

    Jackson y comodeserializar objetos

    JSON usando unconstructor

    ltimos Tutoriales delAutor

    Librera de acceso adatos con Spring y

    JPA

    Ejemplo de SwingWorker: Por qu se

    me congela la interfaz?

    Utilizacin deCommons Digester

    para un sistema depreferenciasconfigurable

    Ejemplo bsico deSpring MVC Portlet

    Trabajando con losWeb Services de

    Liferay

    ltimas ofertas deempleo

    2010-10-11Comercial - Ventas -SEVILLA.

    2010-08-30Otras - Electricidad -BARCELONA.

    2010-08-24Otras Sin catalogar -LUGO.

    2010-06-25T. Informacin -Analista /

    Programador -BARCELONA.

    Ejemplo bsico con Spring MVC Portlet.

    Lo nico que va a cambiar (si queris) es el nombre del artifactId, el cual vamos a llamar spring-mvc-crud-portlet.

    4. Integrando el proyecto con el modelo

    En el tutorial Librera de acceso a datos con Spring y JPA vimos como crear el modelo de datos quevamos a integrar ahora con nuestro proyecto.

    Para integrar el modelo tenemos que aadir la dependencia en el pom.xml de nuestro proyecto, deesta forma:

    view plain print ?

    !"#$ !"#$#%"#%&'($$!%#$ $$$$!)*+,$-"(&'(#)*+,-+.)!.)*+,$-"($$!/#$ $$$$!/*0-1/&0-"(('0,12+*+'3.)1,4!./*0-1/&0-"($$!5#$ $$$$!2#*3-+%("#!267896:;?&1)44@)+AB)@@1.&)+.'-2&'-+,C+2('0,12+*+'3.)1,4#C(1?$.($$

    Lo que estamos haciendo es incorporando la configuracin de Spring de nuestro modelo en nuestroproyecto, por lo que ya slo tendremos que declarar los DAOs para poder utilizarlos en nuestras clases.

    5. Creando la vista de detalle de la persona

    Ahora vamos a crear el fichero detalle_persona.jsp dentro de la carpeta jsp/spring-crud-mvc-portletcon el siguiente contenido:

    view plain print ?

    !"#$ !DE$+)F1.G$*3.>?A++@BHHI)J)#4*-#&'(H@'3+1,+?$@3,K.C>?@'3+1,+?D($$!%#$ !DE$+)F1.G$*3.>?A++@BHHLLL#[email protected])(,L'3M#'3FH+)F4?$@3,K.C>[email protected]?D($$!/#$ !DE$+)F1.G$*3.>?A++@BHHLLL#[email protected])(,L'3M#'3FH+)F4HK'3(?$@3,K.C>?K'3(?D($$!5#$ $$!=#$ $$!N#$ !$+*05#06"#1-%#789#&03$.($$!O#$ $$!P#$ !$+*05#06/&0-+%,*5$J)3>?,I,&*+)38&&.'-QRS?$-)(,>?,I,&*+)38&&.'-?($$!T#$ $$$$!$+*05#06$/*/4$-)(,>?)&&.'-?$J)1*,>?UVK*+*3)8&&.'-W?($$"!#$ !.$+*05#06$/*/4(!.$+*05#06/&0-+%,*5($$""#$ $$"%#$ !1+*461+*4$)&+.'->?UV,I,&*+)38&&.'-QRSW?$&'(()-0-)(,>?@,34'-)X'3(?($$"/#$ $$$$!1+*46:-""#%$@)+A>?.09,34'-)?.($$"5#$ $$$$!$($$"=#$ $$$$$$$$!3$*-%)64#33/)#$&'0,>?@,34'-)#-'(G3,?$.($$"N#$ $$$$$$$$!1+*46-%$,0$@)+A>?-'(G3,?$.($$"O#$ $$$$!.$($$"P#$ $$$$!$($$"T#$ $$$$$$$$!3$*-%)64#33/)#$&'0,>?@,34'-)#)@,11.0'4?$.($$%!#$ $$$$$$$$!1+*46-%$,0$@)+A>?)@,11.0'4?$.($$%"#$ $$$$!.$($$%%#$ $$$$!$($$%/#$ $$$$$$$$!3$*-%)64#33/)#$&'0,>?@,34'-)#0.3,&&.'-?$.($$%5#$ $$$$$$$$!1+*46-%$,0$@)+A>?0.3,&&.'-?$.($$%=#$ $$$$!.$($$%N#$ $$$$!3$*-%)64#33/)#$&'0,>?UVK*+*3)8&&.'-W?$J)3>?K'3(Y-J.)3?.($$%O#$ $$$$!3$*-%)64#33/)#$&'0,>?K'3(#&)-&,1)3?$J)3>?K'3(Z)-&,1)3?.($$%P#$ $$$$!-%$,0$+[@,>?4*G(.+?$J)1*,>?UVK'3(Y-J.)3W?.($$%T#$ $$$$!-%$,0$+[@,>?4*G(.+?$J)1*,>?UVK'3(Z)-&,1)3W?$-)(,>?K'3(#&)-&,1)3?.($$/!#$ !.1+*461+*4($$

    Lo nico que estamos haciendo es crear un formulario que nos va a servir para ver el detalle de unapersona y poder hacer un alta, una modificacin o eliminarla. Por ahora nos vamos a centrar en el altade la persona.

    Destacar que para crear el formulario estamos utilizando tags de spring, form se refiere a loscomponentes del formulario y spring:message nos permite internacionalizar los mensajes.

    Para dar de alta el fichero de mensajes tenemos que aadir lo siguiente al ficheroapplicationContext.xml de nuestro proyecto:

  • view plain print ?

    !"#$ !"#$%$%&'()*++,-*./012*($23,++'(/1-#+41%5-61,)*7/18#2/59*:9#+044/19#;*+/012*#$ $$$$$$$$!'()'#(*+$5,)*'(0+*?/&*@+A*6,039=*++,-*($B,30*'(910*($,&$$!C#$ $$$$$$$$!'()'#(*+$5,)*'(D,+*5,)*+(&$$!E#$ $$$$$$$$$$$$!-./*&$$!F#$ $$$$$$$$$$$$$$$$!0$-1#&)*++,-*+!,0$-1#&$$!G#$ $$$$$$$$$$$$!,-./*&$$!H#$ $$$$$$$$!,'()'#(*+&$$!I#$ $$$$!,"#$%&$$

    Con esta configuracin tenemos que crear el fichero messages.properties dentro de la carpetasrc/main/resources donde vamos a registrar todas las claves que utilicemos.

    Declarando la propiedad "useCodeAsDefaultMessage" a "true" conseguimos que si Spring no encuentrala clave del mensaje pinte el texto de la clave, en vez de dar un error de despliegue.

    Adems hemos declarado en el atributo commandName del formulario que vamos a utilizar un beanllamado personaForm que representa los campos del formulario y permite a Spring mapear los camposdel formulario, va a tener siguiente contenido:

    view plain print ?

    !"#$ '$23$4#$2/)#,09*59%,#+41%5-210&)B24/193*9#6/1)+J$$!>#$ $$!C#$ .5')(*$K,B,#%/#.*1%,3%L,D3*J$$!E#$ $$!F#$ .5')(*$2/)#,09*59%,#909/1%,3*+#)/&*3#M*1+/5,J$$!G#$ .5')(*$2/)#,09*59%,#909/1%,3*+#)/&*3#K4,#M*1+/5,NM@J$$!H#$ $$!I#$ '1"-.2$2-$//$M*1+/5,O/1)$.5'-#5#%*/$.*1%,3%L,D3*P$$!Q#$ $$$$$$"!#$ $$$$'(.0$*#$/*$*.2$6.%$-$-)%4$+*1%,3R*1+%/5STA$'$UIE>F>GHF!!ECF>"QHQ!VJ$$""#$ $$$$'(.0$*#$V/5-$%&M*1+/5,J$$">#$ $$$$'(.0$*#$.91%5-$5/)D1*J$$"C#$ $$$$'(.0$*#$.91%5-$,4*33%&/+J$$"E#$ $$$$'(.0$*#$.91%5-$&%1*22%/5J$$"F#$ $$$$$$"G#$ $$$$'1"-.2$M*1+/5,O/1)WXPY$$"H#$ $$$$$$"I#$ $$$$'1"-.2$M*1+/5,O/1)WM*1+/5,NM@$4*1+/5,NM@XP$$"Q#$ $$$$$$$$*7./#%&M*1+/5,$'$4*1+/5,NM@#-*9T&M*1+/5,WXJ$$>!#$ $$$$$$$$*7./#5/)D1*$'$4*1+/5,NM@#-*9Z/)D1*WXJ$$>"#$ $$$$$$$$*7./#,4*33%&/+$'$4*1+/5,NM@#-*9@4*33%&/+WXJ$$>>#$ $$$$$$$$*7./#&%1*22%/5$'$4*1+/5,NM@#-*9A%1*22%/5WXJ$$>C#$ $$$$Y$$>E#$ $$$$$$>F#$ $$$$'1"-.2$V/5-$-*9T&M*1+/5,WX$P$$>G#$ $$$$$$$$(#*1(%$%&M*1+/5,J$$>H#$ $$$$Y$$>I#$ $$$$'1"-.2$0).8$+*9T&M*1+/5,WV/5-$%&M*1+/5,X$P$$>Q#$ $$$$$$$$*7./#%&M*1+/5,$'$%&M*1+/5,J$$C!#$ $$$$Y$$C"#$ $$$$'1"-.2$.91%5-$-*9Z/)D1*WX$P$$C>#$ $$$$$$$$(#*1(%$5/)D1*J$$CC#$ $$$$Y$$CE#$ $$$$'1"-.2$0).8$+*9Z/)D1*W.91%5-$5/)D1*X$P$$CF#$ $$$$$$$$*7./#5/)D1*$'$5/)D1*J$$CG#$ $$$$Y$$CH#$ $$$$'1"-.2$.91%5-$-*9@4*33%&/+WX$P$$CI#$ $$$$$$$$(#*1(%$,4*33%&/+J$$CQ#$ $$$$Y$$E!#$ $$$$'1"-.2$0).8$+*9@4*33%&/+W.91%5-$,4*33%&/+X$P$$E"#$ $$$$$$$$*7./#,4*33%&/+$'$,4*33%&/+J$$E>#$ $$$$Y$$EC#$ $$$$'1"-.2$.91%5-$-*9A%1*22%/5WX$P$$EE#$ $$$$$$$$(#*1(%$&%1*22%/5J$$EF#$ $$$$Y$$EG#$ $$$$'1"-.2$0).8$+*9A%1*22%/5W.91%5-$&%1*22%/5X$P$$EH#$ $$$$$$$$*7./#&%1*22%/5$'$&%1*22%/5J$$EI#$ $$$$Y$$EQ#$ $$F!#$ Y$$

    6. Dar de alta personas

    Para el alta de personas lo primero que vamos a hacer es crear el fichero listado_personas.jsp que vaa ser la vista principal de nuestro portlet y desde donde vamos a llamar a la accin de aadir unapersona, el contenido de este fichero es el siguiente:

  • view plain print ?

    !"#$ !%&$'()*+,$-.+/01''23445(6(#7-8#9:;42:.'*

  • view plain print ?

    !"#$ %&'()*+,'$$$!-#$ !"#$%&'$.'+()/0123$4'+()/01235$$!6#$ $$!7#$ %&'()*+,'$$!8#$ !"#$%&'$&'()*+,'9*/:;')*+,'$?'((0='(5$$!@#$ AAA$$!B#$ %&'C*'(D

  • Esta obra est licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

    Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; contu ayuda, podemos ofrecerte un mejor servicio.

    Enviar comentario (Slo para usuarios registrados)

    Registrate y accede a esta y otras ventajas

    Anmate y comntanos lo que pienses sobre este TUTORIAL:

    Saludos.

    COMENTARIOS

    Copyright 2003-2011 All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia |Contacto