JSF Static Navigation

jsf

JSF 1.2 de tum navigation kurallari faces-config.xml de yapilmasi gerekiyordu. JSF 2.x te bu zorunluluk ortadan kalkti.

Static Navigation

Simdiye kadar orneklerimizde Static Navigation’i kullandik. <h:commandButton> component’inde action attribute olarak gidecegi sayfa bilgisini deger olarak verdik.

<h:commandButton value="Login" action="welcome" />
  • action attribute degeri outcome olarak isimlendirilir yani “welcome” degeri outcome bilgisidir.Eger outcome da dosya bilgisi yoksa mevcut view in dosya bilgisi eklenir. Yani calistirdigimiz sayfa xhtml oldugu icin outcome bilgisi welcome.xhtml olarak degerlendirilir.
  • Outcome / ile baslamiyorsa path olarak current/mevcut view baz alinir.

Outcome bilgisini action attribute’te verebilecegimiz gibi metot da kullanabiliriz.

NavigationBean.java

package _18.static1.navigation;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class NavigationBean {

	public String goToPage3() {
		return "page3";
	}
}

page1.xhtml

	<h:form>
		<h3>Static Navigation</h3>
		<p>
			<h:commandButton value="Page2" action="page2" />
		</p>
		
		<p>
			<h:commandButton value="Page3" action="#{navigationBean.goToPage3}" />
		</p>
		
		<p>
			<h:commandButton value="Page3" action="page4?faces-redirect=true" />
		</p>
	</h:form>

1. commandButton icin outcome olarak “page2” degerini verdik. Boylelikle ayni dizinde bulunan page2.xhtml sayfasina gidecektir.
2. commandButton icin goToPage3 metodunu cagiriyoruz , bu metot geriye “page3” bilgisini donmektedir. Dolayisiyla page3.xhtml sayfasina gidecektir.
3.commandButton da Page Redirection islemi icin faces-redirect=true parametresini ekliyoruz. Bunu daha once incelemistik.

page2.xhtml , page3.xhtml , page4.xhtml sayfalari basit olarak bir mesaj yazmaktadir. Burada tekrar bu dosyalar icin kodlari paylasmiyorum.

Farkli dizinlerde olan sayfalar icin / ile baslayip absoulute path bilgisi vermemiz gereklidir. Zaten bir path bilgisi / ile baslarsa bunun anlami absolute path demektir.

static-navigation-subfolder

page5.xhtml

....
	<h:form>
		<h3>Static Navigation</h3>
		<p>
			<h:commandButton value="Page6" action="/18.static1.navigation/folder2/page6.xhtml" />
			<!-- burada farkli dizinde oldugu icin .xhtml dosya uzantisini eklememiz gereklidir. -->
		</p>
	</h:form>
....

 

One Comment
  1. Maillot Manchester City Pas Cher

    Awesome blog. I enjoyed reading it! Thank you!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*