Fetishcode…Thinking in objects

Diálogos en ADF Faces

Publicado en ADF by fetishcode en Junio 15th, 2008

Este método muestra como lanzar diálogos o ventanas en forma de popup mediante código en jsf.
Para ello haremos uso del método AdfFacesContext.launchDialog(); que nos permite lanzar una página jspx, hecha previamente, en forma de ventana emergente.


private void launchDialogPopUp(){

    FacesContext context = FacesContext.getCurrentInstance();
    ViewHandler vh = context.getApplication().getViewHandler();
    // el jspx que se mostrara en forma de  ventana emergente
    UIViewRoot dialog = vh.createView(context, "/Ventana.jspx");

    AdfFacesContext a = AdfFacesContext.getCurrentInstance();
    // fijamos el ancho y el alto de la ventana emergente
    Map windowProperties = new HashMap();
    windowProperties.put("width", new Integer(300));
    windowProperties.put("height", new Integer(200));
    //añadimos mas paremetros que seran recogidos en la jspx ventana
    Map dialogParameters = new HashMap();
    dialogParameters.put("param", "holita");
    a.launchDialog(dialog,dialogParameters,null,true,windowProperties);
}

Para recoger el parámetro enviado en la pagina emeregente haremos uso del processScope.


<af :outputText value="El mensaje recibido de la hash del dialog es: #{processScope.param}" id="outputText3"/>

Mas Info: dialogs

Paso de parámetros entre paginas jspx.

Publicado en ADF by fetishcode en Mayo 1st, 2008

Passing parameters between jspx pages

Cuando trabajamos en ADF Faces muchas veces tenemos la necesidad de pasarnos información entre páginas. Pero no queremos hacerlo mediante la url del tipo http://url?parametro=valorparametro.

Para ello podemos usar la map de sesión, donde iremos añadiendo los parámetros que queramos antes de efectuar la regla de navegación que nos lleva a la pagina destino, la cual queremos que reciba los parámetros.


FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("param","valorparam");

Para recogerlo:


FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("param");

Nota: esta no es la única forma de pasar parámetros entre paginas.

Etiqueta con:, ,