PrimeFaces 4.0

Geçtiğimiz günlerde yeni gelecek özelliklerle 3.5 versiyonunun çıkarılacağını duyuran Prime Teknoloji, yeni eklenecek özelliklerin fazlalığından dolayı 3.5 projesini iptal ederek 4.0 versiyonunu çıkaracağını duyurdu.

 

2013 yılının başında piyasaya sürülecek olan yeni versiyonu sabırsızlıkla bekliyorum.

 

ASP.NET için PrimeFaces’i de bir yandan geliştiren grup bu tarafı şimdilik askıya alarak yeni versiyona odaklandığını açıkladı.

4.0 ile birlikte mobil sürümü olan 1.0 versiyonunun da aynı tarihlerde piyasada olacağı tahmin ediliyor.

 

Son sürümü aşağıdaki adresten indirebilirsiniz.

[box type=”download”] PrimeFaces 3.4.1[/box]

 

 

PrimeFaces 3.4 RC1 piyasada

Prime Technology tarafından geliştirilen PrimeFaces framwork’ünün son sürümü görücüye çıktı.

130’dan fazla dosya güncellemesi, Atmosphere Framework ile AJAX Push entegrasyonu ve yeni bileşenleri ile piyasaya sürülen PrimeFaces 3.4 RC1’i aşağıdaki bağlantıdan indirebilirsiniz.

[box type=”download”] PrimeFaces 3.4 RC1 Indir[/box]

Yapılan değişiklikler ile ilgili detaylı bilgi için ise aşağıdaki bağlantıyı kullanabilirsiniz.

[box type=”info”] PrimeFaces 3.4 Yenilikler[/box]

Password Strength, p:password

PrimeFaces’da parola bileşeni parola kontrol modulü bulunan tüm uygulamalarda kullanılabilecek gayet başarılı bir bileşen. Bu bileşenle yeni kayıt alacağımız kullanıcıların parola gücünü çok kolay bir şekilde kontrol edebiliyoruz.

Kullanımı da tüm PrimeFaces bileşenlerinde olduğu gibi gayet kolay.

[codesyntax lang=”html4strict” lines=”no”]

<?xml version="1.0" encoding="ISO-8859-9" ?>
<!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://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
	<h:form>
		Parola : <p:password value="#{loginBean.password}"
				feedback="true"
				promptLabel="Parola Giriniz"
				weakLabel="Güçsüz" goodLabel="Orta" strongLabel="Güçlü"
			/>
		<br/>
		<p:commandButton value="GİRİŞ" action="#{loginBean.giris}"/>
	</h:form>
</h:body>
</html>

[/codesyntax]

ManagedBean kodu :

[codesyntax lang=”java” lines=”no”]

package beans;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class LoginBean {

	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	// şu an için sadece aynı sayfaya yönlendiriyor
	public String giris() {
		return null;
	}
}

[/codesyntax]

Sayfa görüntüleri :

 

 

PrimeFaces ile autoComplete Örnek

JSF’te web sayfaları dizayn ederken sıklıkla 3. parti kütüphaneler kullanılır. Bu kütüphanelerden bazıları ;

–          PrimeFaces

–          IceFaces

–          ADF Faces

–          RichFaces kütüphaneleridir.

Bu yazımda PrimeFaces kütüphanesinin autocomplete özelliğinden bahsedeceğim.

Öncelikle PrimeFaces kullanabilmek için kendi web sitesinden primefaces-version.jar dosyasını indirmelisiniz. Bu dosyayı indirdikten sonra yapmamız gereken tek şey WEB-INF/lib klasörü altına bu JAR dosyasını kopyalamak. Daha sonra hazır bileşenleri kullanabilmek için sayfa başında namespace tanımı yapmamız yeterli olacaktır.

Şimdi bir web sayfasında giriş kutusundan harfler girildiği anda Java sınıfında tanımlanmış listeden bilgileri otomatik olarak tamamlayan bir örnek kod yazalım. Örnek kodumuzda Java sınıfı içerisinde şehir isimleri tanımlayacağız. Web sayfasındaki giriş kutusuna harf girildiğinde o harfle başlayan tüm şehirler listelenecek. Aynı google’ın bize arama sonuçlarını önermesi gibi.

Eclipse’de yeni bir web projesi yaratıyorum ve primefaces-3.2.jar dosyasını lib dizinine kopyalıyorum. Projemin ilk görüntüsü aşağıdaki gibi olacaktır.

NOT : Web projesini yaratırken (Dynamic Web Project) Configuration kısmında JSF kullanacağımızı söylemeyi unutmayın.

Öncelikle Java sınıfımızı yazalım.

 [codesyntax lang=”java” lines=”no”]

package beans;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class SehirTamamla {

	private static final String sehirler = "Adana,Adıyaman,Afyonkarahisar,Ağrı,Amasya,Ankara,Antalya,Artvin,Aydın,Aksaray";
	private static final String[] sehirDizisi = sehirler.split(",");
	private String sehir;

	public String getSehir() {
		return sehir;
	}

	public void setSehir(String sehir) {
		this.sehir = sehir;
	}

	public List<String> tamamla(String prefix) {
		List<String> eslesenler = new ArrayList<String>();
		for (String muhtemelSehir : sehirDizisi) {
			if (muhtemelSehir.toUpperCase().startsWith(prefix.toUpperCase())) {
				eslesenler.add(muhtemelSehir);
			}
		}
		return (eslesenler);
	}

	public String sehirGoster() {
		return "sonuc";
	}
}

[/codesyntax]

Burada biz otomatik olarak doldurulacak metinleri bir listeden aldık. İsterseniz veri tabanından okuyabilirsiniz.

Şimdi sayfalarımızı tasarlayalım.

[codesyntax lang=”html4strict” lines=”no”]

<!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://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<title>Autocomplete</title>
</h:head>
<h:body>
	<div align="left">
		<table class="title">
			<tr>
				<th>Şehir Tamamla</th>
			</tr>
		</table>
		<p />
		<fieldset>
			<legend>A ile başlayan şehirleri getir</legend>
			<h:form>
				<p:autoComplete value="#{sehirTamamla.sehir}"
					completeMethod="#{sehirTamamla.tamamla}" forceSelection="true"
					required="true" requiredMessage="Bir şehir seçmelisiniz !" />
				<h:commandButton action="#{sehirTamamla.sehirGoster}" value="KAYDET" />
				<p />
			</h:form>
		</fieldset>
	</div>
</h:body>
</html>

[/codesyntax]

[codesyntax lang=”html4strict” lines=”no”]

<!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://java.sun.com/jsf/html">
<h:head>
	<title>Seyahat Onay</title>
</h:head>
<h:body>
	<div align="left">
		<table class="title">
			<tr>
				<th>Seyahat Onay</th>
			</tr>
		</table>
		<p />
		<h2>#{sehirTamamla.sehir} şehrine yolculuğunuz onaylanmıştır.</h2>
	</div>
</h:body>
</html>

[/codesyntax]

Programı çalıştırdığımızda ekran görüntüleri aşağıdaki gibi olacaktır.

Şehri seçip KAYDET düğmesine tıkladığımızda sonuc.xhtml sayfası açılacaktır.