# getRequestURL() liefert "alte" URL in JSF



## Arndt (20. Aug 2007)

Hallo!

Ich hab eine Anwendung geschrieben, die u.a. 
((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getRequestURL()
Auswertet. Unter JSF 1.1 und Tomcat 5.5 funktionierte das auch wunderbar.

Seit meiner Umstellung auf JSF 1.2 (JBoss 4.2 oder aber auch unter Glassfish) bekomme ich in eine SessionBean-Methode mit dem obigen Aufruf immer die vorhergehende URL.

Also: angzeigte Seite ist page1; ich wechsele zu einer anderen Seite - als URL erhalte ich aber ..../page1.jsp 

Das gleiche Problem tritt bei Filtern auf. Ein Filter, der auf /faces/bla/* gemappt ist, wird beim ersten Aufruf einer Seite (über die JSF Navigation) nicht aufgerufen. Erst bei der zweiten Seite in diesem Verzeichnis - wirkt auf mich, als ob auch der Filter die "verspätetet" URL erhält.

Für jede Information bin ich dankbar

Gruß

Arndt


----------



## orribl (20. Aug 2007)

Schau mal hier:
www.oracle.com/webapps/online..._navcases_html


----------



## Arndt (20. Aug 2007)

Der link funktioniert leider nicht ... kannst du ihn bitte nochmal reinstellen?


----------



## orribl (20. Aug 2007)

www.oracle.com/webapps/online-help/jdeveloper/10.1.3?topic=sf_apf_navcases_html


----------



## Gast (20. Aug 2007)

Vielen Dank,

mit 
redirect 
funktioniert es wieder. 
Unklar ist mir aber immer noch, warum das redirect notwendig ist. Der Tomcat 5.5. hat meiner Meinung nach auch keins durchgeführt. Es muss doch möglich sein, an die aktuelle Anfrage zu kommen. Weiß jemand wie man bestimmen kann, welche Navigationsregel gerade "bearbeitet" wird (z.B. welcher outcome).

Gruß

Arndt


----------

