Merhaba arkadaşlar. Bu yazıda PrimeFaces’ın Link ve CommandLink bileşenlerinin kullanımını öğreneceğiz. Önceki yazıda olduğu gibi bu yazıda da iki bileşeni aynı örnek içinde inceleyeceğiz.
Link bileşeni benim anladığım kadarı ile sayfa yönlendirmek üzere tasarlanmış bir bileşen. Bu nedenle bu bileşene Ajax özelliği eklenmemiş.
CommandLink bileşeni ise sayfa yönlendirme işleminin yanında actionListener özelliği ile metot da çalıştırabileceği için kendisine Ajax özelliği verilmiş.
Bu iki bileşenin kullanımı Button&CommandButton yazımızdakiden farklılık içermiyor. Şimdi örneğimize bakalım.
index.xhtml Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:f="http://xmlns.jcp.org/jsf/core"> <h:head> <title>PrimeFaces Link ve CommandLink</title> </h:head> <h:body> <h:form> <p:growl id="mesaj"/> <h3>Link Kullanımı</h3> <p:link outcome="gidilecekSayfa" value="Link Yönlendirme" > <f:param name="gidenParametre" value="1" /> </p:link> <h3>CommandLink Kullanımı</h3> <p:commandLink value="Ajax Tetiklemesi " update="mesaj" actionListener="#{linksBean.mesajGonder}"/> <p:commandLink value=" Ajax Olmadan Tetikleme" update="mesaj" actionListener="#{linksBean.mesajGonder}" ajax="false"/> </h:form> </h:body> </html> |
Link bileşenimizin outcome özelliği hangi sayfaya gideceğini belirtiyoruz. Bileşinin içinde kullandığımız f:param etiketi ile gidecek parametrenin adını ve değerini yolluyoruz.
CommandLink bileşenimizin Ajax kullanıp kullanmayacağına ajax özelliği ile karar veriyoruz. update özelliği ile FacesContext‘ten dönen mesajı growl bileşenimize yazdırıyoruz.
gidilecekSayfa.xhtml Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core"> <h:head> <title>gidilecekSayfa.xhtml</title> </h:head> <h:body> <f:metadata> <f:viewParam name="gidenParametre" value="#{linksBean.parametre}"/> </f:metadata> <h:outputText value="Gelen Parametre:#{linksBean.parametre}"/> </h:body> </html> |
f:viewParam ile gelen parametreyi alıyoruz ve Java sınıfımızdaki değişkene atıyoruz ve bunu ekrana basıyoruz.
LinksBean.java Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; @ManagedBean @RequestScoped public class LinksBean { String parametre; public void setParametre(String parametre) { this.parametre = parametre; } public String getParametre() { return parametre; } public void mesajGonder() { FacesMessage mesaj=new FacesMessage(FacesMessage.SEVERITY_INFO,"CommandLink'e Tıkladınız",null); FacesContext.getCurrentInstance().addMessage(null, mesaj); } } |
Ekran Çıktıları
Bu yazıda da bu kadar arkadaşlar. Gelecek yazıda SplitButton kullanımını öğreneceğiz. Sağlıcakla kalın.