sábado, 16 de agosto de 2014

Pasar un valor del binding al bean

Descripción: En este artículo veremos cómo pasar un valor del binding hacia el bean.

Este tipo de operaciones se suelen utilizar para recoger un valor que se encuentra en el binding, por ejemplo un campo cuyo atribute value esté asignado al binding, así como otros componentes. Habitualmente, este valor se suele encontrar en el binding como atributeValue.

Para ello hacemos lo siguiente:

FacesContext fc = FacesContext.getCurrentInstance();
ValueBinding expr;
expr = fc.getApplication().createValueBinding("#{bindings.NombreCampo.inputValue}");
if (expr != null)
        variable =  expr.getValue(fc);


Como podemos observar la estructura es muy similar a la vista en el artículo pasar un valor del bean al binding.

Debemos tener en cuenta el tipo de la variable donde vamos a guardar el valor que estamos recogiendo. No nos va a llegar con el mismo tipo con el que está definido en el viewObject, sino que muy probablemente tendremos que hacer un cast para convertir al tipo de datos que nos interesa. 

En el caso de que no se recoja el valor del binding, habría que comprobar que hemos escrito correctamente la variable, o bien si el valor se encuentra definido como AtributeValue o con otra estructura que permita recoger el valor.

Artículos relacionados:
- Acceder a otro bean desde un bean
- Pasar valores de un bean a un binding
- Pasar un valor de un bean al procesScope

No hay comentarios:

Publicar un comentario