• Home

JSF 2.0: Başlangıç Noktası

Apr04
2011
Leave a Comment Written by kerem

JSF 1.2 den sonra karşımıza çıkan JSF 2.0′ye kısa bir göz atalım.

Neden JSF kullanmalıyım ?
Java coderlar genellikle JSP sayfaları içinde Java kodu yazarlar veya yazmak zorunda kalırlar. Bir proje sürecinde Front-End Developer ve Back-End Developer’ın yaptığı işleri entegre aşamasında bu önemli bir sorun oluşturur. Front-End Developer anlamadığı bir sürü kod parçasını sayfa içine gömmekle uğraşır veya Java coder kendini bir anda CSS yazarken bulur.
JSF öncelikle bu iki iş kolunun yaptığı işleri birbirine entegre aşamasında büyük kolaylık sağlıyor. Java kodu yerine xml taglarıyla hem daha temiz ve anlaşılır bir içerik oluşuyor hem de her iki taraf da o sayfayı kolayca düzenleyebiliyor.
Validator, Convertor, Localization gibi faydalı bir çok özelliğinin yanı sıra kendinize özel taglar da yazabiliyorsunuz(Custom Tags).

JSF 1.2′de page navigation rule’ları ve Java Bean leri faces-context.xml içinde tanımlamanız zorunluydu ama 2.0 ile beraber bunların hepsini son 3-4 yılın popüler uygulama yönetimi olan “Annotations” ile yapabiliyoruz. Dolayısıyla faces-config.xml önemini 2.0 ile beraber yitiriyor.

JSF 2.0 ile örnek bir proje oluşturulması

Malzemeler :
1-jsf-api.jar
2-jsf-impl.jar

Bu iki jarı kütüphaneye ekledikten sonra sıra web.xml i güncellemede:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  version="2.5">

<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
...
</web-app>

Burada .jsf uzantılı sayfaları FacesServlet’e yönlendiriyoruz. javax.faces.PROJECT_STAGE paramatresini Development olarak seçmek detaylı hata mesajları almak için önemli.

Örnek bir Java Bean:


package somePackage;
import javax.faces.bean.*;
@ManagedBean
public class SomeBean {
private String someProperty;
private String val = "";

 public String getVal() {
    return val;
 }
 public void setVal(String val) {
    this.val = val;
 }
 public String getSomeProperty() {
    return(someProperty);
 }
 public void setSomeProperty(String someProperty) {
this.someProperty = someProperty;
 }
public String someActionControllerMethod() {
    return("c?faces-redirect=true");
 }
}

Görüldüğü gibi  @ManagedBean ile bean’i tanımlıyoruz. Bean’e jsf sayfası içinden ulaşmak için beanName naming convention’ı kullanılıyor. Dilerseniz (name=”customname”) ile istediğiniz bir adı kullanabilirsiniz.

Sayfa Yönlendirme

<h:form>
<h:commandButton value="Go to Page" ajax="false"
action="#{someBean.someActionControllerMethod}"/>
</h:form>

Action’a verilen değer direk bir sayfa adı da olabilirdi, ama burada bean içindeki fonksiyon kullanıldı, bu sayede Java Class’ı içinde istenilen lojiğe göre gerekli yönlendirme yapılabilir.

Eclipse’te bir web projesi yaratırken Configuration kısmında JSF 2.0 seçerek hızlı bir giriş yapabilirsiniz.

JSF gelişmeye devam edecek/etmesi gereken  bir framework, hatta bu frameworkun tamamiyle .NET’in web developmentta getirdiği “kolay kodlama” hamlesine karşı geliştirilmiş bir framework olduğunu düşünüyorum. Dolayısıyla Java’nın geleceği bulanık olan frameworklerinden biri değil (bkz: Java FX).

İnternette JSF ile ilgili çok çeşitli kaynak var, beğendiğim iki tanesini aşağıda veriyorum.
JSF MojarraProject Geliştiricileri : http://javaserverfaces.java.net/
http://www.oracle.com/technetwork/java/javaee/documentation/index-137726.html
http://www.mkyong.com/jsf2/implicit-navigation-in-jsf-2-0/
http://www.jsftutorials.net/

Paylaş
Posted in Teknoloji - Tagged JAVA, JSF
SHARE THIS Twitter Facebook Delicious StumbleUpon E-mail
Similar posts
  • Nerede Kalmistik ? — Uzun zamandir bloga vakit ayiramadim. Sebebi birkac aydi...
  • Oracle 11gR2 Express Edition — Sonunda 11g’nin Express Edition’ı beta olarak...
  • Oracle’ın Recover Mekanizması — Önce çok derine inmeden Oracle’ın recovery tiplerin...
  • Stay Connected: Oracle İş Uygulamalar... —   Oracle Day’ dan sonra yeni bir Oracle Event...
  • Oracle Salesforce.com’u satın m... — Son günlerde sıkça bahsedilen bir konu bu, Oracle’ı...
« Oracle 11gR2 Express Edition
» 1. TROUG Day

No Comments Yet

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Temas

  • Eddie Awad's Blog
  • H.Tonguç Yılmaz – Oracle Blog
  • Turkish Oracle User Group

Etiketler

11g 11gR2 XE ACFS ASM bilginç it cloud computing download düşünce walsch düşünce event grid instance recovery JAVA JSF media recovery oracle recover salesforce.com seminer

Tweets

kerem1905
  • Kerem Herkesin bir popisi vardır. Senin popin kaç? http://t.co/fPQggcd0 - posted on 18/02/2012 16:39:42
  • Kerem 80lerden kalma degisiklik tabelasi.. - posted on 11/12/2011 11:41:58
  • Kerem Kuddusi anani sikeyim senin. - posted on 11/12/2011 10:36:50
  • Kerem madrid te yilmaz vural sesleri... #hahamadrid - posted on 11/12/2011 09:35:20
  • Kerem Ulan su eboue be super adam dedim herif seke seke yurumeye basladi.. Ulan su senih gibisi yok derken arkadaslar susturdu saolsun. - posted on 07/12/2011 15:56:07
My Twitter, by Xhanch

EvoLve theme by Blogatize  •  Powered by WordPress Kerem Gündüz