Page reload with JSF faces-config.xml navigation rules

To reload / refresh the current page via a navigation case, you have to provide the current view id in a related backing bean…

   public String getCurrentViewId()
   {
        return FacesContext.getCurrentInstance().getViewRoot().getViewId();
   }

… add this to the ** parameter of a navigation case in your faces-config.xml.

<navigation-case>
    <from-action>#{myBean.doSomething}</from-action>
    <from-outcome>SUCCESS</from-outcome>
    <to-view-id>#{myOtherBean.currentViewId}</to-view-id>
    <redirect/>
</navigation-case>

That’s pretty nice and simple snippet which helps you to prevent the usage of javascript calls like window.location.reload().

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s