Pregunta

Im nueva en JSF 2.0. En la última versión entiendo que si quiero cambiar las reglas sobre "lo que se enviarán al cliente" Sólo necesito para configurar el faces-config.xml.

Ahora, en la versión 2.0, ¿cómo se puede gestionar la acción? Por ejemplo, si tengo esto en un index.xhtml

<h:commandButton id="submit" value="submit" action="response" />

y tengo que llamar a una página llamada response.html (no XHTML) o que la página se coloca en /folder/response.html, o tantos otro sitio? ¿Cómo puede hacerlo? Sé JSF 2.0 es muy flexible en cuanto a estas cosas (el concepto de enlaces href es golpeado). Así que creo que puedo manejar esto con otras metodologías, ¿verdad?

¿Fue útil?

Solución

El action puede señalar dos cosas:

  1. Una expresión action="#{bean.methodname}" método en el que el aspecto método como este:

    @ManagedBean
    @RequestScoped
    public class Bean {
        public String methodname() {
            // Do some business task here.
            return "response";
        }
    }
    

    Después de ejecutar el método de la acción terminará efectivamente que contiene el valor de retorno del método, así: action="response".

    También puede controlar el resultado "dinámica" de la forma habitual de Java:

    public String methodname() {
        if (someCondition) {
            return "somepage";
        } else {
            return "anotherpage";
        }
    }
    

    Dependiendo del resultado condiciones, la acción va a terminar como action="somepage" o action="anotherpage"

  2. Otra página XHTML en el mismo carpeta que la página actual XHTML. Sólo tienes que especificar el nombre del archivo:. action="response"

De cualquier manera, se irá a la página de XHTML que está compuesto por outcome + ".xhtml" donde outcome es el valor de la acción (por ejemplo response.xhtml, somepage.xhtml o anotherpage.xhtml), que se supone que está en la misma carpeta que el archivo que contiene el XHTML h:commandButton.

no es necesario configurar nada en faces-config.xml para esto. Anteriormente, durante JSF 1.x edades que se necesita para definir <navigation-case> para esto.

Ver también:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top