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