Acción por defecto de un form JSF
Al rellenar un formulario, si le das al enter cuando el foco está en uno de los input, el fomulario se envía.
En la mayoría de los casos esto está bien, ¿pero qué ocurre si queremos modificar ese comportamiento?
Concretamente, ¿como podemos modificar ese comportamiento si trabajamos con JSF? Lamentablemente, la especificación no contempla este caso.
Si estás utilizando Seam, esto lo puedes hacer con la etiqueta <s:defaultAction>, que permite cambiar la acción que se ejecuta por defecto al presionar el enter. Si no estás utilizando Seam, puedes usar la libreria javascript4jsf , y su tag <j4j:defaultAction>, que tiene el mismo comportamiento.
Pero si quieres algo rápido, lo más sencillo es incluir un h:commandButton oculto y desactivado. Así al presionar el enter, lanzará la acción del commandButton en vez de enviar el form.





Pablo Said,
April 15, 2008 @ 10:54 am
Muy interesante el sitio y las notas.
¡Felicitaciones!
Pablo javier Said,
August 13, 2008 @ 2:33 pm
Interesante y adema puede ser necesario en caso de querer trabajar con algun javascript donde el JSF no pueda indicar la navegacion o no sea lo necesario hacerlo.
Como dije interesante