Pages

Tuesday, December 4, 2007

Como poner checkboxes en una h:dataTable

Esto es JSF, es muy sencillo (digo sencillo porque ya me salio despues de una larga jornada de estar investigando y "tonteando")..!!!!

Bueno anyway: el asunto es que se necesita tener el nuestro managed bean o backing bean o java bean como quieran llamarle, tantos valores booleanos como columnas deseamos tener con ckeckboxes. Supongamos que queremos dos columnas, en nuestro bean tendremos

boolean uno;
boolean dos;

y luego utilizando un constructor personalizado de nuestra clase, creamos un nuevo componente de la lista que estara asociada a la , por ejemplo si nuestra clase se llama prueba el asunto sera asi:




en el codigo creamos un nuevo item de la lista utilizando este nuevo constructor y luego ponemos en las columnas que deseemos los checkboxes utilizando:





h:datatable value="{bean.listaDeObjetos}" var="lista"
h:column
h:selectbooleancheckbox value="#{lista.uno}"
/h:selectbooleancheckbox
h:column
h:selectbooleancheckbox value="#{lista.dos}"
/h:selectbooleancheckbox
h:column
h:selectbooleancheckbox value="#{lista.textoMostrarEnOtraColumna}"
/h:selectbooleancheckbox

/h:column







Eso es todo :)

Saludos..!!!!

Monday, December 3, 2007

Recuperando valores de managed beans con JSF.

Lo mas probable es que se desee llamar el valor de una variable o propiedad de una clase cuando se ejecuta el action de un boton o de un commandlink, pero lo mas probable es que no funcione es decir que no aparezca nada, porque sucede esto: porque no es parte del contexto la clase a la cual se esta llamando, esto significa, que cuandoqueremos hacer esto, debemos recuperar el valor de dicha variable en una variable o propiedad de la clase desde donde llamamos a ese metodo es decir el metodo especificado en el action del boton o del commandLink.

Ej:

Tenemos una jsp que tiene una llamada jsf a un metodo de la clase persona, pero dentro de este metodo se llama a un metodo de otra clase llamada cuentas, es dcir lo que queremos es ver las cuentas o deudas de una persona cuando haga click en “Ver cuentas”, entonces como ambos metodos estan separados en diferentes clases uno va a estar fuera del contexto del otro; si queremos ver las cuentas de la persona en pantalla debemos tener una variable local de la clase persona que recoja los valores generados o recuperados por el metodo “ver_cuentas()” de la clase cuentas, asi lo que mostraremos son los valores de la variable de la clase persona. Espero este claro, es un poco confuso pero se que habra sucedido una vez y ojala este texto sirva de ayuda.

Saludos a todos