JSF: lenguaje de expresión
JSF proporciona un lenguaje de expresión rico. Podemos escribir operaciones normales usando#{operation-expression}notación. A continuación se muestran algunas de las ventajas de los lenguajes de expresión JSF.
Puede hacer referencia a propiedades de bean donde el bean puede ser un objeto almacenado en el alcance de la solicitud, sesión o aplicación o es un bean administrado.
Proporciona un fácil acceso a los elementos de una colección que pueden ser una lista, un mapa o una matriz.
Proporciona un fácil acceso a objetos predefinidos como una solicitud.
Las operaciones aritméticas, lógicas y relacionales se pueden realizar utilizando lenguaje de expresión.
Conversión automática de tipos.
Muestra los valores faltantes como cadenas vacías en lugar de NullPointerException.
Aplicación de ejemplo
Creemos una aplicación JSF de prueba para probar el lenguaje de expresión.
Paso | Descripción |
---|---|
1 | Cree un proyecto con un nombre helloworld en un paquete com.tutorialspoint.test como se explica en el capítulo JSF - Primera aplicación . |
2 | Modifique UserData.java en el paquete com.tutorialspoint.test como se explica a continuación. |
3 | Modifique home.xhtml como se explica a continuación. Mantenga el resto de los archivos sin cambios. |
4 | Compile y ejecute la aplicación para asegurarse de que la lógica empresarial funcione según los requisitos. |
5 | Finalmente, compile la aplicación en forma de archivo war e impleméntela en Apache Tomcat Webserver. |
6 | Inicie su aplicación web utilizando la URL adecuada como se explica a continuación en el último paso. |
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 vez que esté listo con todos los cambios realizados, compilemos y ejecutemos la aplicación como lo hicimos en JSF - Capítulo Primera aplicación. Si todo está bien con su aplicación, esto producirá el siguiente resultado.