Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/07/2011, 11:27
ganhan
 
Fecha de Ingreso: mayo-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Mensaje ice:inputtext

hola

Estoy haciendo una aplicacion web con icefaces. Tengo una pagina que muestra datos que hay en un managed bean.

El codigo de la pagina es el siguiente:
Código HTML:
<ice:form>
      <!-- Boton "modificar datos" -->
      <ice:commandButton value="Guardar datos personales" 
           style="left: 150pxtop: 350px; position: absolute" 
           action="#modificarDatosCliente.modificarDatosPersonales}" />
      
      <!--Boton "volver"-->
      <ice:commandButton value="Volver" style="left: 350px; top: 350px;  
           position:absolute" action="#{modificarDatosCliente.volver}" />

      <!-- Nombre del cliente -->
      <ice:outputLabel  for="txtNombre" value="Nombre Cliente: "  
           style="left: 100px; top: 150px; position: absolute"/>
      <ice:inputText  id="txtNombre" style="left: 250px; top: 150px; position:absolute" 
           size="30" required="true"
           value="#{modificarDatosCliente.cliente.nombre}"/>
</ice:form> 
Y el del managed bean:
Código:
public class ModificarDatosCliente {
       private Cliente cliente;

       /** Creates a new instance of ModificarDatosCliente */
       public ModificarDatosCliente() {}

       public Cliente getCliente() {      return cliente;      }
       public void setCliente(Cliente cliente) { this.cliente = cliente;     }       

       public void modificarDatosPersonales(){
           Session sesion = obtenerSesion();                
           try{                       
                 sesion.beginTransaction();
                 sesion.update(cliente);
                 sesion.getTransaction().commit();
                 sesion.close();
            }catch(Exception e){
                 e.printStackTrace();
                 deshacerTransaccion();
            }
        }

       /**Metodo para volver a la pantalla anterior **/
       public String volver(){
             FacesContext context = FacesContext.getCurrentInstance();
             context.getExternalContext().getRequestMap().remove("modificarDatosCliente");
             return "VOLVER";
       }
}
Mi pregunta es: ¿Cómo puedo hacer para que, una vez modifique el valor del inputtext, solo se modifique en el managed bean cuando presione el boton de "guardar datos personales" y no cuando el inputtext pierda el foco?

Gracias de antemano