Creando una aplicación JSF con Roo

Para Ernesto 🙂

El otro día mostrábamos como crear una aplicación con Roo y desplegarla en Cloud Foundry.

En la nueva versión de Roo (la 1.2.0) se soporta la generación de aplicaciones JSF, veamos lo fácil que es:

1. Primero como siempre tendremos que:

a. Definir la variable ROO_HOME apuntando a la instalación de Roo

b. Añadir al PATH %ROO_HOME%/bin

2. En una carpeta cualquiera ejecutamos este script Roo

project –topLevelPackage es.luismi.spring.roo.jsf –projectName GestionDonantes

persistence setup –provider HIBERNATE –database HYPERSONIC_IN_MEMORY

enum type –class ~.dominio.GrupoSanguineo

enum constant –name Grupo_A

enum constant –name Grupo_B

enum constant –name Grupo_AB

enum constant –name Grupo_0

entity jpa –class ~.dominio.Organo

field string –fieldName nombre –notNull

field string –fieldName descripcion

entity jpa –class ~.dominio.Donante

field string –fieldName nombre –sizeMax 25 –notNull

field enum –fieldName grupoSanguineo –type ~.dominio.GrupoSanguineo –notNull

field date –fieldName fechaNacimiento –type java.util.Date –past

field string –fieldName mail –regexp "[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+" –notNull

field set –fieldName organos –type ~.dominio.Organo –mappedBy donante –notNull false –cardinality ONE_TO_MANY

field reference –fieldName donante –class ~.dominio.Organo –type ~.dominio.Donante –notNull

web jsf setup –implementation APACHE_MYFACES –theme EGGPLANT

web jsf all –package ~.jsf

quit

Con el comando roo> script –file EjemploRooJSF.roo

3. Si os habéis fijado para generar la aplicación JSF sólo he necesitado estos dos comandos:

Con este configuro que implementación de JSF usaré (soporta MyFaces y Mojarra) y el tema EGGPLANT (ofrece numerosos temas):

web jsf setup –implementation APACHE_MYFACES –theme EGGPLANT

Con este genero las Capa de Presentación JSF:

web jsf all –package ~.jsf

4. Puedo ejecutar la aplicación desde Maven con el comando cmd>mvn jetty:run

5. También puedo desplegar la aplicación sobre Cloud Foundry de esta sencilla forma:

roo>perform package

roo>pgp automatic trust

roo>addon install bundle –bundleSymbolicName org.springframework.roo.addon.cloud.foundry

roo> cloud foundry login –email lmgracia@XXX.XXX –password XXX –cloudControllerUrl http://api.cloudfoundry.com

roo> cloud foundry deploy –appName luismi_GestionDonantes –path targetGestionDonantes-0.1.0.BUILD-SNAPSHOT.war

roo>cloud foundry start app –appName luismi_GestionDonantes

6. Puedo ver las aplicaciones desplegadas:

y acceder a la url de la aplicación:

http://luismi_gestiondonantes.cloudfoundry.com/

Respuestas

  1. Has probado la aplicación resultante?

    1. Lo probé en el Jetty y funcionaba (de ahí son los pantallazos)…luego miré en el Cloud Foundry y no iba pero ya estaba publicado….y la verdad es que no he tenido tiempo de revisarlo 🙂

      1. Menos mal… ya pensaba que era el único que tenía problemas con el Spring Roo de marras… :-). Habrá que seguir investigando.

  2. […] « educaccionjsf . Obtener valores de formulario en JSF con JQUERY « Pablo Videla … . Creando una aplicación JSF con Roo « Java Mania . Primeras entregas del F-35B JSF a los […]

Deja un comentario