Bu soru this one (ilgili yanıtlama) ile yakından ilgilidir.Bir ajax listener yönteminden bir yönlendirici gönderme
Projem boyunca, eylem özniteliğinin bir dize döndüren bir işlevi göstereceği JSF komut düğmelerini kullanarak ekranlar arasında geziniyorum. Dize, yeni ekranın adıdır.
<h:commandButton value="Select" action="#{searchResultsBundledBean.selectFlight}">
</h:commandButton>
selectFlight
bir dize dönecekti, mesela selected-flight-review
, kullanıcıyı selected-flight-review.xhtml
'a yönlendirir.
<h:panelGrid>
<f:ajax event="click" listener="#{searchResultsBundledBean.clickFlight(lowFareBundledSearchItem)}"/>
</h:panelGrid
, bunu test ettik ve doğru sonucu döndürülür
Ancak, hiçbir yönlendirme gerçekleşir (o geri verdikten hemen önce giriş ile test edilmiştir). Ajax çağrısı henüz yapmıyor. Başka bir ekrana yönlendirmeyi nasıl yapabilirim? Herhangi bir değişkene göndermek zorunda değilim, sadece görüntülenecek yeni ekrana ihtiyacım var. Ajax dışında bir şey kullanmalı mıyım (yapmayı tercih etmemeliydim), yoksa bu işi şu anki haliyle yapmanın bir yolu var mı?
“? Faces-redirect = true” ekli ile çalıştınız mı? Bunu zaten denediniz http://stackoverflow.com/a/7928396/1199132 –
Yea. Değiştirilmiş dizeyi (eklenen yönlendirmeyle) döndürür, ancak aslında onunla hiçbir şey yapmaz. Burada takıldığım sorun ajax'ın bir commandLink veya commandButton – Skytiger