tutorial else jsf jsf-2 post-redirect-get

else - jsf tutorial netbeans



JSF 2 y Post/Redirect/Get? (1)

Puede hacer esto con un ConfigurableNavigationHandler personalizado. Aquí hay un ejemplo de inicio:

package com.example; import java.util.Map; import java.util.Set; import javax.faces.application.ConfigurableNavigationHandler; import javax.faces.application.NavigationCase; import javax.faces.application.NavigationHandler; import javax.faces.context.FacesContext; public class RedirectNavigationHandler extends ConfigurableNavigationHandler { private NavigationHandler parent; public RedirectNavigationHandler(NavigationHandler parent) { this.parent = parent; } @Override public void handleNavigation(FacesContext context, String from, String outcome) { if (!outcome.endsWith("?faces-redirect=true")) { outcome += "?faces-redirect=true"; } parent.handleNavigation(context, from, outcome); } @Override public NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome) { if (parent instanceof ConfigurableNavigationHandler) { return ((ConfigurableNavigationHandler) parent).getNavigationCase(context, fromAction, outcome); } else { return null; } } @Override public Map<String, Set<NavigationCase>> getNavigationCases() { if (parent instanceof ConfigurableNavigationHandler) { return ((ConfigurableNavigationHandler) parent).getNavigationCases(); } else { return null; } } }

Regístrelo de la siguiente manera en faces-config.xml :

<application> <navigation-handler>com.example.RedirectNavigationHandler</navigation-handler> </application>

Corrígeme si me equivoco, pero estoy pensando en que todos mis envíos que no sean AJAX deben usar el método Publicar / Redirigir / Recibir (PRG), ya que GET debe usarse para actualizar / consultar datos, y en mi caso , las páginas de la aplicación en las que puedo pensar realmente solo actualizan los datos y luego actualizan la página, por lo que creo que PRG se ajusta aquí.

Creo que puedo hacer esto usando faces-config.way, donde uso el <redirect/> , o puedo usar el return "myview.xhtml?faces-redirect=true";

Ahora la pregunta es ...

¿Hay alguna forma de que pueda configurar esto globalmente para que las llamadas / envíos no AJAX, automáticamente hagan uso de faces-redirect = true, para que mi fuente sea tan simple como esta:

return "myview";