[JSF] Menü mit CommandLinks

Smoothi

Bekanntes Mitglied
Ich habe beispielsweise einen CommandLink

Code:
<h:commandLink value="Test" action="test" actionListener="#{testPM.reset()}"/>

Wenn ich diesen von der Seite "blubb.xhtml" aufrufe, dann werden alle Werte des umliegenden Formelements zunächst an die selbe Seite geschickt und erst danach erfolgt die Weiterleitung auf die Seite "test.xhtml". Sprich, im Eingabefeld des Browsers steht immernoch "blubb.xhtml", obwohl ich ja schon auf der "test.xhtml" bin.

Kann ich das umgehen? Also, dass die richtige Seite im Feld steht?

Wenn ich einen outputLink nehme gehts natürlich, aber da werden keine Formulardaten abgeschickt und ich kann keinen actionListener anhängen.

Versucht hatte ich bis jetzt:
Code:
<h:commandLink value="Test" action=""#{menuPM.goTo('test')}" actionListener="#{testPM.reset()}"/>

Java:
@Named("menuPM")
@SessionScoped
public class MenuPM implements Serializable {
    public void goTo(String site) {
        FacesContext fc = FacesContext.getCurrentInstance();
        fc.getApplication().getNavigationHandler().handleNavigation(fc, null, site + ".xhtml");
    }
}

aber das macht eigentlich genau das Gleiche
 

jwiesmann

Bekanntes Mitglied
Java:
@Named("menuPM")
@SessionScoped
public class MenuPM implements Serializable {
    public void goTo(String site) {
        FacesContext fc = FacesContext.getCurrentInstance();
        fc.getApplication().getNavigationHandler().handleNavigation(fc, null, site + ".xhtml?faces-redirect=true");
    }
}
aber das macht eigentlich genau das Gleiche

Wie oben ergänzt:
faces-redirect=true
should do the trick!

Gruß
 

Ähnliche Java Themen

Neue Themen


Oben