Spring SPEL表达式
spring spel表达式
spel 是一种扩展语言,支持在运行时查询和操作对象图的功能。
有很多可用的表达语言,例如jsp el, ognl,mvel和jboss el。 spel提供了一些其他功能,例如方法调用和字符串模板功能。
spel api
spel api提供了许多接口和类。它们如下:
- expression接口
- spelexpression类
- expressionparser接口
- spelexpressionparser类
- evaluationcontext接口
- standardevaluationcontext类
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(); 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示例
让我们看到许多有用的spel示例。在这里,我们假设所有示例都已写在main()方法内。
将concat()方法与string配合使用
expressionparser parser = new spelexpressionparser(); expression exp = parser.parseexpression("'welcome spel'.concat('!')"); string message = (string) exp.getvalue(); system.out.println(message);
将字符串转换为字节数组
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());
spel运算符 spel 变量 | standardevaluationcontext