JSF - Linguaggio di espressione
JSF fornisce un ricco linguaggio di espressione. Possiamo scrivere normali operazioni usando#{operation-expression}notazione. Di seguito sono riportati alcuni dei vantaggi dei linguaggi JSF Expression.
Può fare riferimento alle proprietà del bean dove il bean può essere un oggetto memorizzato nella richiesta, nella sessione o nell'ambito dell'applicazione oppure è un bean gestito.
Fornisce un facile accesso agli elementi di una raccolta che può essere un elenco, una mappa o un array.
Fornisce un facile accesso a oggetti predefiniti come una richiesta.
Le operazioni aritmetiche, logiche e relazionali possono essere eseguite utilizzando il linguaggio delle espressioni.
Conversione automatica del tipo.
Mostra i valori mancanti come stringhe vuote anziché NullPointerException.
Applicazione di esempio
Creiamo un'applicazione JSF di prova per testare il linguaggio delle espressioni.
| Passo | Descrizione | 
|---|---|
| 1 | Creare un progetto con un nome helloworld sotto un pacchetto com.tutorialspoint.test come spiegato nel capitolo JSF - Prima applicazione . | 
| 2 | Modifica UserData.java sotto pacchetto com.tutorialspoint.test come spiegato di seguito. | 
| 3 | Modifica home.xhtml come spiegato di seguito. Mantieni invariato il resto dei file. | 
| 4 | Compilare ed eseguire l'applicazione per assicurarsi che la logica aziendale funzioni secondo i requisiti. | 
| 5 | Infine, crea l'applicazione sotto forma di file war e distribuiscila in Apache Tomcat Webserver. | 
| 6 | Avvia la tua applicazione web utilizzando l'URL appropriato come spiegato di seguito nell'ultimo passaggio. | 
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> 
    Una volta che sei pronto con tutte le modifiche apportate, compiliamo ed eseguiamo l'applicazione come abbiamo fatto nel capitolo JSF - Prima applicazione. Se tutto va bene con la tua applicazione, questo produrrà il seguente risultato.
                    