Java Server Faces redirect to referer

Hallo

Ich kann in meiner Applikation von 2 verschiedenen Seiten auf eine andere zugreifen. Danach bekommt man den gleichen outcome aber es soll auf die richtige Seite zurueck.

Auszug aus meiner faces-config.xml:
/abc.xhtml#{abcBean.abc}succeeded/onepage.xhtml?id=#{xyz}#{abcBean.abc}succeeded/otherpage.xhtml

Wie kann ich feststellen von wo der Aufruf kam damit ich weiss wohin ich wieder zurueck muss?

Ich weiss ich kann es mit dem referer aus der RequestHeaderMap() rausfinden, da mein Bean aber zerstoert wird nach dem ersten Aufruf und neu initialisiert wird wenn man einen Button klickt, verliere ich dan den originalen Referer.

Jemand eine Idee?

Gruss
Benjamin

Wieso nicht einfach noch zusätzlich die Ursprungsseite als Parameter mitgeben

dann muss du nur noch anhand des parameters den richtigen Outcome wählen

Hab ich mir auch schon ueberlegt, dann wuerde es sicher fuer die Seiten funktionieren die von mehreren aufgerufen werden koennen.

Ich suche aber eigentlich eine allgemeinere Loesung damit es automatisch auch in Zukunft bei neuen Seiten funktioniert ohne das ich alles anpassen muss.

Aber voruebergehend sicher eine Moeglichkeit

Dann bleibt eigentlich nur die Möglichkeit eines eigenen Navigationhandlers…

siehe http://stackoverflow.com/questions/2387191/jsf-1-2-n…

du speicherts halt einen Liste der letzten siteIDs…
und beim entsprechenden outcome rudert der dann zurück.

Bin mir jetzt nicht sicher ob der Code da oben wirklich richtig geht … hab das aber so ähnlich schon mal gemacht …

grüße

Hallo,
es tut mir leid, aber ich kann dir da leider nicht weiterhelfen

Hallo Benjamin,

zum einen könntest du einen eigenen JSF NavigationHandler schreiben, der ein einen Stack der letzten com.sun.faces.application.CaseStructs hält und eine Funktion popView() implementieren.

Zum anderen gäbe es eine Möglichkeit mit f:stuck_out_tongue:aram oder f:attribute der aufrufenden Seite die Herkunft mitzuteilen um anschließend wieder zurück zu navigieren.

Sicher gibt es dazu noch andere Lösungen. Schonmal das Projekt PrettyFaces angeschaut?

Mit frohem Mute,
eisberg