English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Espressioni SPEL Spring

SpEL È un linguaggio esteso che supporta la funzione di ricerca e operazione dell'oggetto in esecuzione.

Ci sono molti linguaggi di espressione disponibili, come JSP EL, OGNL, MVEL e JBoss EL. SpEL offre alcune altre funzionalità, come le chiamate di metodo e le funzionalità di template di stringa.

API SpEL

L'API SpEL fornisce molti interfacce e classi. Ecco come sono:

Interfaccia Expression Classe SpelExpression Interfaccia ExpressionParser Classe SpelExpressionParser Interfaccia EvaluationContext Classe StandardEvaluationContext

Esempio di Hello SPEL

import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
public class Test {
public static void main(String[] args) {
ExpressionParser parser = new SpelExpressionParser();
Espressione exp = parser.parseExpression("'Hello SPEL'");
String message = (String) exp.getValue();
System.out.println(message);
//O
//System.out.println(parser.parseExpression("'Hello SPEL'").getValue());
}
}

Altri esempi di SPEL

Vediamo molti esempi utili di SPEL. In questo esempio, presupponiamo che tutti gli esempi siano scritti all'interno del metodo main().

Usare il metodo concat() insieme a String

ExpressionParser parser = new SpelExpressionParser();
Espressione exp = parser.parseExpression("'Welcome SPEL'.concat('!')");
String message = (String) exp.getValue();
System.out.println(message);

Convertire una stringa in un array di byte

Espressione exp = parser.parseExpression("'Hello World'.bytes");
byte[] bytes = (byte[]) exp.getValue();
for(int i=0;i<bytes.length;i++){
    System.out.print(bytes[i] + " ");
}

Convertire la stringa in byte e ottenere la lunghezza

Expression exp = parser.parseExpression("'Hello World'.bytes.length");
int length = (Integer) exp.getValue();
System.out.println(length);

Convertire il contenuto della stringa in maiuscolo

Expression exp = parser.parseExpression("new String('hello world').toUpperCase()");
String message = exp.getValue(String.class);
System.out.println(message);
//O
System.out.println(parser.parseExpression("'hello world'.toUpperCase()").getValue());