SpEL soporta una gran cantidad de tipos de expresiones, este artículo enumera los más básicos y muestra algunos ejemplos sencillos para cada uno de ellos.

Literales

Los literales son las expresiones más sencillas que pueden utilizarse. Constantes que representan cadenas de texto, valores numéricos, valores lógicos, … utilizando las reglas habituales:

Propiedades

Dado un objeto, se sigue la nomenclatura de punto para acceder a sus propiedades:

Colecciones

Los objetos dentro de una colección se pueden referenciar por su índice, o por su clave en el caso de los arrays asociativos:

Listas

Se pueden construir listas embebidas dentro de las propias expresiones utilizando la notación de llaves:

Arrays

Se pueden construir matrices embebidas dentro de las propias expresiones invocando el constructor de Java:

Métodos

Dado un objeto, se sigue la nomenclatura de punto para invocar sus métodos:

Operadores

Se pueden utilizar los operadores relacionales habituales para realizar comparaciones:

Se pueden utilizar los operadores lógicos habituales para evaluar condiciones:

Y se pueden utilizar operadores aritméticos habituales:

Asignaciones

Aunque no muy habitual, se pueden realizar asignaciones directamente. A este punto hay que recordar la existencia del objeto root contextual sobre el que aplica una expresión:

Tipos

El operador especial T(type) se puede utilizar para obtener una referencia a una clase, e invocar sus métodos estáticos por ejemplo:

Constructores

Se pueden construir objetos utilizando new y el nombre completo de la clase que se quiere instanciar, excepto para los tipos básicos que son directamente reconocidos: