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.