JSF - İfade Dili

JSF, zengin bir ifade dili sağlar. Kullanarak normal işlemler yazabiliriz#{operation-expression}gösterim. Aşağıda, JSF İfade dillerinin bazı avantajları verilmiştir.

  • Fasulyenin talep, oturum veya uygulama kapsamında depolanan bir nesne olabileceği veya yönetilen bir fasulye olduğu durumda fasulye özelliklerine başvurabilir.

  • Bir koleksiyonun liste, harita veya dizi olabilen öğelerine kolay erişim sağlar.

  • İstek gibi önceden tanımlanmış nesnelere kolay erişim sağlar.

  • Aritmetik, mantıksal ve ilişkisel işlemler ifade dili kullanılarak yapılabilir.

  • Otomatik tip dönüştürme.

  • Eksik değerleri NullPointerException yerine boş dizeler olarak gösterir.

Örnek Uygulama

İfade dilini test etmek için bir test JSF uygulaması oluşturalım.

Adım Açıklama
1 JSF - First Application bölümünde açıklandığı gibi com.tutorialspoint.test paketinin altında helloworld adıyla bir proje oluşturun .
2 Değiştir UserData.java paket altında com.tutorialspoint.test aşağıda açıklandığı gibi.
3 Home.xhtml'yi aşağıda açıklandığı gibi değiştirin . Dosyaların geri kalanını değiştirmeyin.
4 İş mantığının gereksinimlere göre çalıştığından emin olmak için uygulamayı derleyin ve çalıştırın.
5 Son olarak, uygulamayı savaş dosyası biçiminde oluşturun ve Apache Tomcat Web sunucusunda konuşlandırın.
6 Son adımda aşağıda açıklandığı gibi uygun URL'yi kullanarak web uygulamanızı başlatın.

UserData.java

package com.tutorialspoint.test;

import java.io.Serializable;
import java.util.Date;

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

@ManagedBean(name = "userData", eager = true)
@SessionScoped
public class UserData implements Serializable {
   private static final long serialVersionUID = 1L;
   private Date createTime = new Date();
   private String message = "Hello World!";

   public Date getCreateTime() {
      return(createTime);
   }
   
   public String getMessage() {
      return(message);
   }
}

home.xhtml

<?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:f = "http://java.sun.com/jsf/core"    
   xmlns:h = "http://java.sun.com/jsf/html">
   
   <h:head>
      <title>JSF Tutorial!</title>
   </h:head>
   
   <h:body>
      <h2>Expression Language Example</h2>
      Creation time: 
      <h:outputText value = "#{userData.createTime}"/>
      <br/><br/>
      Message: 
      <h:outputText value = "#{userData.message}"/>
   </h:body>
</html>

Yapılan tüm değişikliklere hazır olduğunuzda, uygulamayı JSF - İlk Uygulama bölümünde yaptığımız gibi derleyip çalıştıralım. Başvurunuzla ilgili her şey yolundaysa, bu aşağıdaki sonucu verecektir.