Daha önce kod5.org/eclipse-kullanarak-jsf-gelistirmek/ adresinde Eclipse IDE üzerinde JSF kodlayabilmek için yapılabilecek 2 yoldan birisini anlatmış ve JBoss Tools ile Eclipse IDE üzerinde JSF kodu yazabilmiştik. Bu yazıda ise herhangi bir tool vs. kurmadan doğrudan Eclipse IDE üzerindeki desteği kullanarak nasıl JSF kodu yazabiliriz onu göreceğiz.

Başlayalım …

İlk olarak http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon1 adresinden Eclipse IDE’nin Java EE geliştiricileri için olan sürümünü indirelim. İndirilen sıkıştırılmış dosyayı herhangi bir yere açalım ve Eclipse’i çalıştıralım.

JSF kodlarını çalıştırabilmek için bir sunucuya ihtiyacımız var. Bunun için hafif ve hızlı bir sunucu yazılımı olan Apache Tomcat bize yeterli. Eclipse IDE’nizde Apache Tomcat kurulu değilse kurun. Eğer Tomcat’in Eclipse IDE’ye nasıl kurulacağına dair bilginiz yok ise şu videomu izleyerek Tomcat’i kurabilirsiniz: https://www.youtube.com/watch?v=fgNKKeggiRM .Videoda Tomcat’in 8 numaralı sürümün kurulmasını anlatıyorum ancak Eclipse Neon ile birlikte Tomcat 9’a destek geldi. Siz de isterseniz Eclipse Neon ve Tomcat 9’u kurabilirsiniz.

Tomcat’i kurulu değilse kurduktan sonra, kurulu ise hemen New -> Dynamic Web Project diyelim.

Akabinde istdiğimiz bir proje ismini girelim.

  • Target runtime kısmından kurulu olan Tomcat’i seçelim.
  • Dynamic Web Module Version‘u 3.0 seçelim.
  • Configuration kısmından JavaServerFaces v2.2 Project‘i seçelim.
  • Next butonuna tıklayalım.

Akabinde gelen ekranı Next diyerek geçelim. Bir sonraki gelen ekranda Generate web.xml deployment descriptor kısmına tik koyalım ve Next butonuna tıklayalım.

Şimdi gelen ekranda Eclipse bizden bir adet JSF implementasyonu istiyor. Biz de bunu indireceğiz. Ekrandaki Download Library butonuna tıklayalım.

Eclipse ilgili repository içinde arama yapacak ve bize bir JSF implementasyonu sunduğu ekranını açacak. Açılan ekranda JSF 2.2 (Mojorra 2.2.0) maddesini seçelim ve Next diyelim.

Şimdi açılan ekrandaki I accept the terms of this license kısmına tik koyup Finish butonuna tıklayalım. Mojorra bizim için indirilip Eclipse’in deposuna eklenecek ve az önceki kütüphane indirme butonuna tıkladığımız ekran geri açılacak.

Bu ekranda URL Mapping Patterns alanını bir güncellemeye tabi tutalım. Varsayılan olarak /faces/* gelir. Remove butonu ile onu kaldıralım ve Add butonu ile *.xhtml URL Mapping’ini ekleyelim. Finish butonuna tıklayarak proje açılma işlemini tamamlayalım.

Şimdi açılan projeye sağ tıklayalım, New kısmından HTML File’ı seçelim.

Dosyanın adını index.xhtml olarak değiştirip Next butonuna tıklayalım.

Şimdi açılan ekranda bir HTML Template seçimi yapacağız. Java Server Faces çatısı Facelet üzerine inşa edilen bir çatıdır. Biz de bu ekrandan en üstteki New Facelet Composition Page seçeneğini seçelim ve Finish butonuna tıklayalım.

Şimdi Java Resources -> src altına BeanClass.java dosyasını ekleyelim ve kodunu şöyle güncelleyelim.

import java.io.Serializable;

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

@ManagedBean
@SessionScoped
public class BeanClass implements Serializable{
	String message = "Hello Java Server Faces On Eclipse IDE!";
	
	public String getMessage() {
		return message;
	}
}

index.xhtml sayfamızın kodunu da şu şekilde güncelleyelim:

<!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:ui="http://xmlns.jcp.org/jsf/facelets"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core">
	<h:head>
		<title>JSF On Eclipse</title>
	</h:head>
	<h:body>
		<h:form>
			<h:outputText value="#{beanClass.message}"></h:outputText>
		</h:form>
	</h:body>
</html>

Eclipse IDE #{} iafedesini yazıp süslü parantezlerin arasına gelip crtl+space yaptığımızda bize managed bean önermesi yapar. Managed bean’in ismini seçip nokta operatörü koyup tekrar ctrl+space yaptığımızda da managed bean içinde alanları listeler.

Şimdi projemize sağ tıklayalım ve Run As -> Run On Server diyelim ve projeyi server üzerinde çalıştıralım.

Proje başarı ile çalıştı.

Bu yazıda da bu kadar arkadaşlar. Gelecek yazıda görüşene kadar sağlıacakla kalın.

Selam ve Sevgilerimle