Foro sobre Java EE > Problema Icefaces 2.0
Hola,
De pura casualidad, ¿Cuál es el "scope" de tu Backing Bean?
Saludos,
Muchas gracias antoniovl!!!!!!!!!
Segui un tutorial sobre las anotaciones en los managedBean y no me fije en esa parte!!!
Mi codigo era:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
@ManagedBean
@RequestScoped
public class CLogin { ... }
En esta version , cuando presionaba algun boton dentro del panelpopup, era como un nuevo evento, no se respetaba los actionListeners y el panelpopup se cerraba inexplicablemente.
**************************************
Lo cambie por :
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
@ManagedBean
@SessionScoped
public class CLogin { .. }
En esta version, cuando presionaba algun boton dentro del panelpopup, se respetan los actionListeners que les asigno ( uno de ellos pone el false la variable que hace visible o invisible al panelpopup visible="#{cLogin.verPopupLogin}" )
**************************************
Tambien probe con:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
@ManagedBean
@ViewScoped
public class CLogin { .. }
Obteniendo los mismos resultados que el @SessionScoped
***************************************
Solucionado!!!!!!!
Ahora si no es molestia, a que se debe lo anterior?? Siempre he usado el :
<managed-bean-scope>session</managed-bean-scope>
Estoy googleando y me aparece tutoriales de como usar el session, request o view , pero no me explican su signicado o esencia.
Lo mas decente que he encontrado es :
http://blog.icefaces.org/blojsom/blog/default/2009/04/23/Making-distinctions-between-different-kinds-of-JSF-managed-beans/
Muchas gracias nuevamente!!
Los componentes AJAX presentan ese detalle, necesitas conservar el estado de la información de tu backing bean. En JSF 1.2 ICE Faces implementó algo llamado "Extended Request Scope". Tu no necesitabas hacer nada para usarlo, y sustituía al ciclo de vida "Request-Scoped" estándar del framework. En escencia, tu backing bean (bajo extended request scope) se comportaba como session-scoped siempre y cuando no te cambiaras de vista (página).
En JSF 2.0 ya no es igual. ICE Faces ahora soporta otro scope propietario llamado "Window" que se comporta mas o menos parecido al anterior "Extended Request Scope". No es la única alternativa, en JSF 2.0 con CDI habilitado puedes emplear backing beans con scope de "Conversation".
Saludos,
Nota adicional: El "view scope" que mencionas también es útil, solo que el "Window Scope" de Ice Faces tiene ventajas.
Saludos,
La nueva pagina esta mas seria :) !!
Saludos a todos, mi consulta es :
Tengo un simple proyecto en netbenas 6.9. El proyecto es de icefaces 2.0.El formulario tiene un unico boton el cual al ejecutarse llama un actionListener el cual setea una variable boolean a true.Esta variable la uso para mostrar un panelpopup a modo de login.Este panelpopup tiene 02 botones, uno se llama aceptar y otro cancelar. Ninguno de los dos botones tiene actionListener, es decir cuando se presionen, no deberia ejecutarse nada. Cuando ejecuto la aplicacion y hago clic en el boton quelanza el popup, lo lanza correctamente pero cuando presiono cualquier boton desde dentro del panelpopup, este desaparece :S
Parece como si los botones del panelpopup login tuvieran un actionlistener asociado el cual pondria la varable boolean a false, pero no tienennnnnnnnnnn listener y aun asi cuando los presionno, el panelpopup se esconde :( !!
Alguien sabria porque pasa esto ??? Cabe mencionar que cuando hago exactamente lo mismo con el icefaces 1.8 y presiono los botones del panelpopup login, no pasa nada el panelpopup no se oculta ni nada, ya que no tienen listeners :) !!
Adjunto una imagen y el url de descarga del proyecto, para que puedan ver este error :( !!
http://img707.imageshack.us/img707/4458/2909201103620.png
http://www.4shared.com/file/0UmWhr4f/WebApplication3.html
Sera la version de icefaces?? alguien podria ayudarme please !!!!!!!!