jsfcljs example atributos jsf

example - mojarra jsfcljs



Redireccionamiento JSF a través de commandButton (1)

El <h:commandButton type="button"> no genera un botón de envío. Simplemente genera un botón "muerto" sin ningún efecto, destinado exclusivamente a ser usado para scripts onclick="..." y similares. Esto es, en cierto modo, un remanente de la era oscura de JSF 1.0 / 1.1, cuando no era posible utilizar simplemente el HTML simple de vainilla en JSF para este tipo de cosas.

<f:ajax> realiza el envío mediante los poderes de ajax a través de un clic generado por JSF. No le importa el type de botón.

Esencialmente, eliminar el type="button" y confiar en su type="submit" predeterminado type="submit" debería solucionar su problema.

<h:commandButton value="Enter" action="index?faces-redirect=true" />

Sin embargo, todo con todo, si este es el código real y realmente no tiene intención de invocar una acción de bean, entonces está yendo por completo en la dirección equivocada para implementar el requisito funcional de navegar a una página diferente con un botón. . Deberías estar usando <h:button> lugar.

<h:button value="Enter" outcome="index" />

Ver también:

No puedo redirigir a otra página si el código es así:

<h:commandButton type="button" value="Enter" action="index?faces-redirect=true" >

Pero la redirección funciona si el código es:

<h:commandButton type="button" value="Enter" action="index?faces-redirect=true" > <f:ajax /> </h:commandButton>

¿Alguien podría explicar esto? ¡Gracias!

-----------------------EDITAR------------------------

El código xhtml completo para su referencia:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"> <h:head> </h:head> <h:body> <h:form id="form"> <h:commandButton id="enterModelButton" type="button" value="Enter" action="index?faces-redirect=true" > <f:ajax /> </h:commandButton> </h:form> </h:body> </html>