# Wie mache ich in einer xhtml (JSF) einen redirect?



## navino (23. Mrz 2011)

Hallo,

ich erzeuge in einer Managedbean eine URL die dann auf der Seite als Link angezeigt wird.
Der Link öffnet dann die URL in einem neuen Fenster.
Das möchte ich aber in einem Schritt tun .
Button erzeugt URL, leitet dann zu einer xhtml-Seite, die macht dann den redirect auf die URL.

Wie geht sowas mit Java Server Faces?
Oder gibt es da vieleicht eine andere Idee?

Gruß
navino


----------



## Sym (23. Mrz 2011)

Ich verstehe Dich nicht (glaube ich). 

Möchtest Du einen Link auf der Seite, oder nicht?

Du kannst einen Redirect Java-Seitig machen


```
FacesContext.getCurrentInstance().getExternalContext().redirect("/faces/meineSeite.jsp");
```


----------



## JimPanse (23. Mrz 2011)

Ich verstehe das auch nicht so ganz.

Falls du ein neues Fenster öffnen möchtest dann an die jsf-form Komponente 
	
	
	
	





```
target = "_blank"
```
 einfügen. Beim ausführen des command-Buttons wird die Seite in einer neuen Seite angezeigt.

oder du hängst an den command-Button einen javascript Aufruf ran ->   
	
	
	
	





```
onclick="open.window("deineseite.jsf");"
```

Redirects würde ich wenn dann in der faces-config-xml über ein Kommando definieren:


```
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0">
	<navigation-rule>
		<from-view-id>/index.xhtml</from-view-id>
		<navigation-case>
			<from-outcome>Open</from-outcome>
			<to-view-id>/other.xhtml</to-view-id>
			<redirect />
		</navigation-case>
	</navigation-rule>

....
</faces-config>
```


----------



## navino (24. Mrz 2011)

Hallo,

ich habe das mit der serverseitigen Variante gemacht
FacesContext.getCurrentInstance().getExternalContext().redirect("http://serverort?param1=2");
Die URL wird in der Managedbean zusammengebaut, u.a . mit Parametern die auf der Seite angegben werden..
Der CommandButton muss also erst die Werte in die Bean übertragen... um die URL zusammenzubauen.

Danke für die schnelle Hilfe!!

Gruß
navino


----------

