Spring表达式语言(SPEL)使用教程介绍

  1. GAME
  2. PLAY API
  3. 你好玩的例子
  4. SPEL的其他示例
SpEL是一种扩展语言, 支持在运行时查询和操作对象图的功能。
有许多表达语言, 例如JSP EL, OGNL, MVEL和JBoss EL。 SpEL提供了一些其他功能, 例如方法调用和字符串模板功能。
游戏API
SpEL API提供了许多接口和类。它们如下:
  • 表达接口
  • GameExpression类
  • ExpressionParser接口
  • GameExpressionParser类
  • 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()); } }

【Spring表达式语言(SPEL)使用教程介绍】下载此示例(使用MyEclipse IDE开发)
其他SPEL示例
让我们看一下SPEL的许多有用示例。在这里, 我们假设所有示例均已写入main()方法内。
对字符串使用concat()方法
ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("'Welcome SPEL'.concat('!')"); String message = (String) exp.getValue(); System.out.println(message);

将String转换为字节数组
Expression 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());

    推荐阅读