English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SpEL هي لغة تعبيري محدثة، تدعم الاستعلام والتعامل مع شجرة الأهداف في الوقت الفعلي.
هناك العديد من لغات التعبير المتاحة، مثل JSP EL، OGNL، MVEL و JBoss EL. يقدم SpEL بعض الوظائف الإضافية مثل دعوات الدوال ووظائف قوالب النصوص.
يقدم API SpEL العديد من الواجهات والفئات. وهي كالتالي:
واجهة Expression فئة SpELExpression واجهة ExpressionParser فئة SpelExpressionParser واجهة EvaluationContext فئة StandardEvaluationContext
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(); Expression exp = parser.parseExpression("'Hello SPEL'"); String message = (String) exp.getValue(); System.out.println(message); //OR //System.out.println(parser.parseExpression("'Hello SPEL'").getValue()); } }
لنرى العديد من أمثلة SPEL المفيدة. هنا، نفترض أن جميع الأمثلة مكتوبة داخل دالة main().
استخدام دالة concat() مع String
ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("'Welcome SPEL'.concat('!')"); String message = (String) exp.getValue(); System.out.println(message);
تعبير exp = parser.parseExpression("'Hello World'.bytes"); byte[] bytes = (byte[]) exp.getValue(); for(int i=0;i<bytes.length;i++){ System.out.print(bytes[i]+" "); }
Expression exp = parser.parseExpression("'Hello World'.bytes.length"); int length = (Integer) exp.getValue(); System.out.println(length);
Expression exp = parser.parseExpression("new String('hello world').toUpperCase()"); String message = exp.getValue(String.class); System.out.println(message); //OR System.out.println(parser.parseExpression("'hello world'.toUpperCase()").getValue());