2011-02-23 16 views
29

JSF ile ilgili bir sorunla başa çıkıyorum, uygulamanızın içindeki sayfalara yönlendirme söz konusu olduğunda gayet iyi çalışıyor, ancak dış URL'ye yönlendiremedim. Bu konuda bana rehberlik eder misiniz?JSF'de harici URL'ye yönlendirin

+0

Harici bir URL'ye yönlendirmeyi denediğinizde ne olur? Bunu nasıl yapmaya çalışıyorsun? Bize biraz kod göster. –

+0

@Matt: Navigasyon vakaları ve sonuç değerleri ile uğraştığından bahse girerim. O zaman gerçekten mümkün değil. İç sayfalar için bir "" veya "sonuç? Yüzler-yönlendirme = doğru" düzgün çalışıyor. – BalusC

cevap

71

Sadece URL’yi doğrudan <a> ya da <h:outputLink>’dan veya.

<a href="http://stackoverflow.com">Go to this site!</a> 
<!-- or --> 
<h:outputLink value="http://stackoverflow.com">Go to this site!</h:outputLink> 

Veya, <h:commandLink> aşağıda gibi kullanarak bir fasulye eylemi çağırmak gerekiyorsa,

<h:form> 
    <h:commandLink value="Go to this site!" action="#{bean.redirect}" /> 
</h:form> 

sonra eylem yönteminde ExternalContext#redirect() kullanın. Eğer IOException, sunucu bununla başa edeceğini yakalamak gerekmez

public void redirect() throws IOException { 
    // ... 

    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
    externalContext.redirect("http://stackoverflow.com"); 
} 

Not. Ayrıca şemayı (http:// veya https:// veya //) URL'ye dahil etmenin önemine dikkat edin, aksi takdirde geçerli alana göre yorumlanacaktır.

+0

Teşekkürler ExternalContext çözümü çalışır, benim URL'ye "http" öneki koymadım, quickily için +1 ve belirli bir yanıt TEKRAR – Necronet

İlgili konular