JSF URL "hängt nach" - warum? Ausblenden möglich?

Txxxxs

Mitglied
Hallo,

ich habe ein Problem, das offenbar nicht die Funktion, sondern die Optik meiner Webanwendung mit JSF 2.0 stört:
Die Anwendung startet mit einer Seite index.xhtml, von dort aus komme ich über je einen Button auf wartung.xhtml, verkaeufe.xhtml und beenden.xhtml. Habe ich beispielsweise über den Button, der auf wartung.xhtml verweist, diese Seite aufgerufen, ist in der Adressleiste des Webbrowsers nach wie vor index.xhtml zu sehen, navigiere ich weiter auf z. B. artikelAnlegen.xhtml, ändert sich die URL in wartung.xhtml usw., also der hintere Teil hängt immer um einen Schritt bzw. eine Seite nach.

Warum ist das so? Kann man dieses Verhalten irgendwie korrigieren?
Oder ist es möglich, ggf. mittels einfacher Einstellung den Pfad erst gar nicht anzuzeigen, also dass lediglich der Projektname in der URL steht, sonst nichts anderes?
 
Hallo Thomas,

das ist das Standardverhalten der Seitennavigation unter JSF.

Bei JSF gibt man ja im Form-Tag <h:form> kein Ziel an. Daher wird das Formular an die selbe Seite geschickt auf der man sich gerade befindet. Die "Weiterleitung" auf die neue Seite passiert dann serverseitig, wovon der Browser ja nichts weiß. Daher ist es ganz normal, dass der Name der Seite angezeigt wird, von der man gekommen ist.

Wenn Du keine (Formular)-Daten verschicken, sondern nur navigieren willst, dann könntest Du die Seite ja z.B. via <a href="seite.xhml"> aufrufen.

Beispiel:
HTML:
<a href="#{request.contextPath}/seite1.xhtml">Seite1</a>

Viele Grüße

Bastian
 
Nein, ich setze die Verweise in den Managed-Beans, z. B.:
Java:
	public String beenden() {
		return "/beenden.xhtml";
	}
Und in der XHTML-Datei dann:
Java:
<h:commandButton action="#{index.beenden}" id="beenden" value="Beenden" />
 

Zurück
Oben