Skip to main content

Posts

Showing posts from June, 2010

Utilizando Like en consultas JPA

En algunas ocasiones necesitamos hacer las consultas utilizando un patrón determinado, en las setencias sql generalmente usamos like %patron%.

Asumimos que tenemos una clase llamada Interes.java, agregamos un nuevo @NamedQuery y colocamos lower() para convertir a minuscula el resultado y utilizamos like para la busqueda del patrón.

@NamedQuery(name = "Interes.findByNombreLike", query = "SELECT i FROM Interes i WHERE
lower(i.nombre) like :nombre"),

Editamos la clase controlador
public List findByNombreLike() {

EntityManager em = null;
try {
// itemsSearch = null;
if (current == null) {
}
String nombre = current.getNombre();
if (nombre == null) {

return null;
}
em = getEntityManager();

// aqui convertimos a minuscula y buscamos la palabra en cualquier
nombre = "%" +nombre.trim() +"%";
return em.createNamedQuery(&…

Utilización de archivos properties

Cuando deseamos internalización de nuestras aplicaciones Web, debemos crear un archivo properties.

Agregamos los diversos idiomas


Seleccionamos el idioma



Para agregarlo a nuestro código
en el < h:head> agregamos
< h:head>




Para utilizarlo
< h:outputText value="#{i18n['mensajes.titulo']}">< /h:outputText>

En NetBeans 6.9 no se crea el archivo faces-config.xml ya que JSF 2.0 no lo necesita.
Podemos crearlo en la carpeta WEB-INF

Y agregamos el contenido



En el indicamos la ruta donde esta almacenado el archivo de propiedades
es la variable que usaremos, y no tendremos que usar el en las paginas.

Usar los archivos de propiedades en las paginas
value="#{i18n['interes.titulo.lista']}"

value="#{i18n.titulo}"

y en las clases
JsfUtil.addSuccessMessage(ResourceBundle.getBundle("/org/gbiweb/properties/i18n").getString("interes.mensajes.actualizado"));

Agregando un Session Bean

Luego de haber creado las Clases de Entidad a partir de la base de datos, podemos crear nuestros beans de sesiones.
Creamos un nuevo archivo
Seleccionamos Session Beans For Entity Clases


Seleccionamos las clases disponibles

ahora


Seleccionamos Nuevo Archivo-> Categorias:Java Server Faces ->Tipo de Archivos: JSF Managed Bean

alcance: Session


Crear los objetos

private Interes current;
private DataModel items = null;
@EJB private jpa.controller.InteresFacade ejbFacade;

Generar los métodos get
Código generado
public Interes getCurrent() {
return current;
}

public InteresFacade getEjbFacade() {
return ejbFacade;
}

public DataModel getItems() {
return items;
}
Editamos el método getItems() y lo reemplazamos por el siguiente codigo

public DataModel getItems() {
if (items == null) {
items = new ListDataModel(getListaInteres());
}
return items;
}

Agregar el método getListaInteres() que devuelve un List de la clase Intere…

NetBeans 6.9 JSF 2.0

Cuando generamos una aplicación web, utilizando JPA, y tenemos campos autoincrementables, debemos definir la estrategia de generación
@GeneratedValue(strategy=GenerationType.IDENTITY)
en el campo, antes de generar las paginas JSF a partir de las entidades o crear las clases controladoras.

Ejemplo:

public class Interes implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "id_interes")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer idInteres;

y comentamos el campo id para que no se muestre en la pagina .xhtml
< !--
< h:outputLabel value="#{bundle.CreateInteresLabel_idInteres}" for="idInteres" />
< h:inputText id="idInteres" value="#{interesController.selected.idInteres}" title="#{bundle.CreateInteresTitle_idInteres}" required="false" requiredMessage="#{bundle.CreateI…

NetBeans 6.9 JPA con Postgresql

Creamos una base datos en postgresql

Generamos la persistence

indicamos las clases

entity





Utilizando JPA Controller
Creamos las clases JPA controller


Error


Editamos el archivo persistence.xml


Quitamos la marca y agregamos las clases


Editar el index.xhtml agregamos un dataTable de OpenFaces, con algunos

Indicamos la columna y los valores





Editar la clase InteresJpaController
Creamos un objeto
private DataModel items = null;
public DataModel getItems() {
if (items == null) {
items = new ListDataModel(getListaInteres());
}
return items;
}

public List getListaInteres() {
EntityManager em = null;
try {
em = getEntityManager();

return em.createNamedQuery("Interes.findAll").getResultList();

} catch (Exception ex) {
String msg = ex.getLocalizedMessage();

doneMessage = new FacesMessage("Error " + msg);

FacesContext.getCurrentInstance().addMessage(null, doneMessage);

} fi…

NetBeans 6.9 J2EE CRUD

Si deseamos crear una aplicación web j2ee con NetBeans 6.9

Creamos las clases de entidad a partir de la base de datos

Seleccionamos la base de datos y las tablas

Ahora indicamos el paquete

Vamos a crear las paginas jsf a partir de las clases

Agregamos las clases

Especificamos la carpeta para almacenar las jsf generadas

Tenemos la estructura generada, y ejecutamos elproyecto



Entrar en cualquier opción

Tenemos nuestra aplicación CRUD

Probando NetBeans 6.9 con OpenFaces

Recientemente fue liberado la versión 6.9 de NetBeans, un IDE con muchas características, en esta ocasión, empezamos a probarlo creando una aplicación Web con Java Server Faces 2.0 y utilizando OpenFaces.


Creación del proyecto utilizando NetBeans.
Pasos:
1. Seleccionar desde el menu Archivo-> Proyecto Nuevo
2. Seleccionar en categorias: Java Web y en Projects Web Application

3. Seleccionamos el servidor

4.Indicamos el frameworks Java Server Faces y presionamos el botón FINALIZAR


5. Ejecutamos el proyecto
6. Se muestra la salida en el browser


7.Descargar OpenFaces desde http://www.openfaces.org
8.Agregar la biblioteca a NetBeans

9. Agregamos la biblioteca al proyecto

10. Seleccionar OpenFaces


11. Agregar en el archivo web.xml


12. Agregar un componente calendario al archivo index.xhtml
12.1 Agregar xmlns:o="http://openfaces.org/">
12.2 Agregar el componente calendar


13. Ejecutamos el proyecto


Solo nos muestra la pagina cargando

14. Crear el archivo beans.xml dentro de WEB-INF

15…

NetBeans 6.9 RC2 en Español

Puedes descargarlo desde el siguiente enlace
http://dlc.sun.com.edgesuite.net/netbeans/6.9/rc/

Aun no esta concluida la traducción de NetBeans al idioma español y se estan corrigiendo algunos errores.