Showing posts with label jsf. Show all posts
Showing posts with label jsf. Show all posts

18 June 2012

Acceder a un parámetro HTTP desde un page fragment

Como es sabido, ADF extiende JSF, pero en pocas palabras, en el sentido más básico es una página JSP; por tanto tiene disponible todos los objetos implícitos de la especificación.

Dentro de este conjunto existe uno llamado param, el cual da acceso a cualquier parametro HTTP.

Imaginemos que tenemos la siguiente URL:
http://misrv/miaplicacion/mipagina?MiParametroHttpGet=hola

Si quisieramos acceder a dicha variable con EL, la expresión sería algo así como: #{param.MiParametroHttpGet}, el resultado de esta expresión es: hola.

Enlaces relacionados:


- FIN -

26 May 2009

WebBeans (JSF + EJB) - JSR 299

Su objetivo es permitir a los componentes EJB 3.0 poder ser utilizado como beans administrados de JSF (backed beans / managed beans), simplificando considerablemente el modelo de programación para aplicaciones web Java, incrementando su velocidad de desarrollo sin sacrificar la potencia de la plataforma JEE5.

Otras de sus principales características esta en la inyección de dependencias, ciclo de vida contextual, configuración, interceptores, notificaciones de eventos...

En los siguientes videos seremos introducidos en su modelo de programación y se nos describe como integrar WebBeans con otras tecnologías JEE (EJB3+JSF+Servlets).

12 minutos


28 minutos


40 segundos


12 minutos



Slides : http://www.seamframework.org/service/File/75154


Descripción del Estándar según Gavin King:
  1. Presentación de Web Beans
  2. Inyección, anotaciones de binding, y tipos de componentes
  3. Declarando componentes mediante XML
  4. Scopes, contextos, y métodos de resolución



- FIN -

23 May 2009

Webinar - RIA y Web 2.0 con JSF (ADF)

ADF es la implementación de JSF de Oracle, el siguiente video, nos da un recorrido desde cero, mostrando además todo el potencial de ADF; esta inglés, pero a diferencia de otros videos la pronunciación es lo suficiente buena y clara como para que cualquier persona pueda entenderlo al completo.



Dura unos 47 minutos.

- FIN -

18 May 2009

Webinar - ICEfaces y JSF 2.0

ICEfaces es una implementación de JSF bastante popular y muy usada por su integración transparente con Ajax/Ajax Push, el siguiente video muestra las posibilidades que tiene la tecnología y conceptos relacionados con Ajax Push.





- FIN -

17 April 2008

No theme instance found for locale

com.sun.rave.web.ui.theme.ThemeManager::No theme instance found for locale es

Este tipo de errores se originan por dos posibles causas:
  1. El fichero properties no se encuentra en el lugar especificado; por tanto habría que verificar que el resultado de la compilación de nuestro código fuente deposite dichos ficheros en el lugar esperado.

  2. No se ha especificado los lenguajes soportados en el faces-config.xml; por tanto habría que registrarlos como en el siguiente recuadro.
    ..........
    <locale-config>
    <default-locale>es</default-locale>
    <supported-locale>en</supported-locale>
    <supported-locale>it</supported-locale>
    </locale-config>
    <message-bundle>edu.emmerson.jsf.locales.Language</message-bundle>
    ..........

    Recordar que para cambiar el idioma por defecto de la aplicación habría que indicarlo.

    ..........
    FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(languageIsoCode));
    ..........

    - FIN -

21 November 2007

Paso de parametros por request en JSF


En la request :

  • Poner un parámetro

    HttpServletRequest mirequest= (HttpServletRequest)this.getFacesContext().getExternalContext().getRequest();

    mirequest.setAttribute("mi_clave_de_request", unObjeto);
  • Recuperar un parámetro

    HttpServletRequest mirequest= (HttpServletRequest)this.getFacesContext().getExternalContext().getRequest();

    mirequest.getAttribute("mi_clave_de_request") ;



En la request para aplicaciones visuales JSF (Netbeans + Visual Web Pack) :

  • Poner un parámetro

    this.setBean("mi_clave_de_request", unObjeto);
  • Recuperar un parámetro

    this.getBean("mi_clave_de_request") ;
  • Para mas informacion consultar el javadoc de AbstractPageBean

Para los objetos session y application es mas o menos lo mismo, en caso de que la aplicación este en un entorno cluster, las recomendaciones indican que los objetos metididos en la session deberian ser serializables.

- FIN -

12 November 2007

Componente File Upload - Netbeans 5.5.1 - JSF 1.1

Siempre que creamos un proyecto JSF en NetBeans, este registra automaticamente el componente de FileUpload en el fichero de configuración de proyecto web.xml yañade su jar necesario al proyecto.

El componente “File Upload” permite seleccionar archivos de cualquier tipo de nuestro sistema de ficheros para subirlos al servidor. Los contenidos de los ficheros subidos conservan los datos originales, nombre, extencion, tamaño, tipo mime...

El servidor almacena los ficheros subidos en memoria siempre y cuando no exceda los 4096 bytes, en cuyo caso los almacena en un fichero temporal. Esta caracteristica se puede cambiar modificando el parametro sizeThreshold del filtro UploadFilter registrado en nuestro web.xml.

Por defecto este componente puede manejar ficheros de hasta 1MB, este limite puede ser alterado con la propiedad maxSize del filtro UploadFilter.

Este componente viene en la paleta de componentes basicos por defecto que nos proporciona la implementacion de sun que trae netbeans de JSF; y para utilizarlo basta con arrastrar y soltarlo sobre nuestra pagina.

Si arrastamos y soltamos el componente dentro de nuestra pagina en tiempo de diseño, esta registra una propiedad por defecto llamada fileUpload1, que sera a traves de la cual accederemos a nuestro objeto subido al servidor, pues bien para terminar el flujo de subida de ficheros nos haria falta agregar un boton al cual llamare btnAlmacenar y en su accion java asociada pondre el codigo para almacenar el fichero en la ubicación donde finalmente se depositará.

En el código lo primero sera obtener la referencia y el nombre del fichero subido


UploadedFile uploadedFile = fileUpload1.getUploadedFile();

String uploadedFileName = uploadedFile.getOriginalName();

uploadedFileName = uploadedFileName.substring(uploadedFileName.lastIndexOf(File.separator) + 1);



Lo segundo y último será especificarle la ubicación donde deseamos almacenar el fichero


String fich = dir + File.separatorChar + uploadedFileName;

File file = new File(fich);

uploadedFile.write(file);



Advertencia:

Cuando el tamaño del fichero a subir excede el máximo permitido en el fichero de configuración, el componente simplemente no hace nada cuando se envia al servidor, y como efecto colateral tampoco se ejecuta ninguna accion de otros componentes, como por ejemplo los botones.


- FIN -

11 October 2007

Desarrollo de Componentes JSF(1.2) en NetBeans 5.5

Para crear componentes JSF específicos a nuestras aplicaciones habría que seguir los siguientes pasos:

1.- Crear una TLD con los siguientes elementos:
- El descriptor del tag lib (fichero xml)
- La clase del componente que extienda de javax.faces.component.UIOutput
- El Tag Handler (clase que extienda de javax.faces.webapp.UIComponentELTag)
- El renderizador que extienda de la clase javax.faces.render.Renderer

2.- Registrar el o los componentes y sus renders en el faces-config.xml.

3.- Incorporar la referencia al taglib dentro de las jsp a utilizar

4.- Dentro de la etiqueta f:view colocar nuestro nuevo componente jsf.


Esta referencia rápida se basa en el tutorial descargado de sun, previo registro en la Sun Developer Network:

Developing Custom JSF Components For NetBeans Visual Web Pack
LAB-4430


http://www.javapassion.com/handsonlabs/jsfcustom/


Puedo decir que he probado los ejemplos y funcionan adecuadamente.

02 October 2007

Ajaxify aplicaciones JSF(1.2) con NetBeans 5.5.1

La implementación de JSF que trae este IDE no trae incorporado Ajax, lo cual puede ser un inconveniente y a la vez una razón para decantarse por otra, sin embargo existe un componente llamado Dinamic Server Faces, el cual nos permite "Ajaxzinizar / Ajaxify" nuestras aplicaciones JSF (añadir funcionalidad Ajax).

Lo primero de todo es descargar el componente Dinamic Server Faces desde el update center de Netbeans.

Tools -> Update Center

Despúes de instalar este modulo es conveniente reiniciar el IDE.

Una vez descargado habría que instalarlo.

Tools -> Component Library Manager ->Import, luego habría que navegar para indicarle el fichero, por defecto se encuentra dentro del directorio de instalacion\rave2.0\samples.


Después, sobre el proyecto donde deseamos utilizar Ajax habría que añadir la libreria.


Elegir el componente Dinamic Server Faces.

En el siguiente link se puede encontrar toda la información oficial necesaria sobre los Dynamic Faces.

28 September 2007

IceFaces para Netbeans

Para poder desarrollar proyectos JSF de manera visual primero de todo había que encontrar un editor que me permitiera hacerlo, tal cual lo hace ASP.NET.

Tenia 2 opciones que NO eran de pago (al menos eso creo :-p ), la primera era Eclipse WTP + FacesIDE pero este plugin me resulto un poco verde, así que nada, lo deje!

He aqui un par pantallazos de Eclipse + FacesIDE:


Por ahí recordé un día un newsletter de netbeans donde mencionaban dar soporte a JSF de manera visual, así que me fui a su web y me descargue la versión 5.5.1; vaya! que sorpresa tenía que descargarme un módulo llamado Visual Web Pack; después de volver a descargar este "Add-on" me instale NetBeans IDE 5.5.1 + Visual Web Pack y me puse a probar, con una grata sorpresa.

Que bien! ya tengo un editor visual en tiempo de diseño para desarrollar JSF, esto del drag&drop y el doble click sobre los componentes para acceder a su código es super cómodo; que bien que funciona todo pensaba!

Estos son los componentes JSF que trae NetBeans 5.5..1


Otra característica que me ha gustado mucho de NetBeans es que me permite ver y editar de manera visual la navegación de mis páginas JSF.


Y como pensaba que funcionaba todo bien mire la lista de componentes que traía por defecto la implementación que trae NetBeans de JSF, PUFF!!! eche en falta algunos componentes que me vendrían bien para la aplicación web que necesitaba, además el submit entero que hacian los componentes tab ("pestañas") no me terminaba de gustar así que vamos a buscar otras implementaciones....

Bueno mi espectro no era demasiado amplio ya que tengo MyFaces, IceFaces y BackBase como referencia.

BackBase es la mejor implementación que he probado para desarrollar en tiempo de diseño y la cantidad de componentes que trae, pero tiene una gran pega, ...si! esa que estáis pensando.... efectivamente es de pago, si fuera por mí la compraría, pero como no es así quedo descartada. Ah! me olvidaba, creo recordar que trae un plugin para eclipse, echarle un vistazo!

MyFaces es de Apache, lo cual es señal de calidad, tiene proyectos interesantes ( Tomahawk, Sandbox, Tobago...) con esta tecnología, pero no tiene un editor visual que valga la pena, que pena!

IceFaces... vaya resulta que soporta AJAX al igual que BackBase, que además de ser partner tiene un editor visual para NetBeans y una serie de componentes que necesito, así que vamos allá.
Ya tengo instalado NetBeans con la JDK 1.5, ahora nos toca descargarnos IceFaces y sus plugins para NetBeans, esto una vez instalado funciona decentemente, dentro de cada descarga hay un fichero Readme.html, os recomiendo leerlos por que tiene cosas tan interesantes como:

Para usar satisfactoriamente el conjunto de componentes de ICEfaces con NetBeans se necesitan usar en conjunto con los componentes ui:page, ui:html, ui:head, ui:link, ui:body y ui:form, porque NetBeans necesita usarlos para soportar el diseño visual con componentes.

IceFaces tiene una web donde además de dar explicaciones de cada componente, también lo demuestran y exponen el código fuente de estos.



- FIN -