Refrescar la página
Existe un objeto en ADF de tipo botón llamado Reset pero para este caso no nos serviría pues tendríamos que asociar uno por cada formulario que tengamos. La solución a nuestro problema sería crear un metodo que refresque el objeto ViewRoot. Se haría del siguiente modo:
public void recargarPagina(FacesContext contexto) {
String currentView = contexto.getViewRoot().getViewId();
ViewHandler vh = contexto.getApplication().
getViewHandler();
UIViewRoot x = vh.createView(contexto, currentView);
x.setViewId(currentView);
contexto.setViewRoot(x);
}
Si nos fijamos, este metodo recoge la vista actual de la página (viewId) y lo que hace básicamente es crearla de nuevo y crear un nuevo viewRoot. Una vez que hemos creado el nuevo viewRoot se lo asociamos al contexto y el entenderá que tiene que refrescar la página completamente.
Tags: ADF, Java ServerFaces