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

下一节:spring mvc教程

spring 教程

相关文章