Springexpressionlanguage(SpEL ) spring的spel表示形式存在于org.springframework.expression及其子包中。 简单的实现示例
expressionparserparser=newspelexpressionparser (; expression exp=parser.parse expression (' ' hello world ' ' ); stringmessage=(string ) exp.getValue ); SpEL提供了调用方法、访问属性和调用构造函数等功能。
调用方法:
expressionparserparser=newspelexpressionparser (; expression exp=parser.parse expression (' hello world '.concat ('! () ); stringmessage=(string ) exp.getValue ); 访问属性
expressionparserparser=newspelexpressionparser (; //invokes 'getBytes () expression exp=parser.parse expression (' hello world '.bytes ); byte[]bytes=(byte[] ) exp.getValue ); 调用构造函数
expressionparserparser=newspelexpressionparser (; expression exp=parser.parse expression (' new string (' hello world '.toupper case ) ); string message=exp.getvalue (string.class; 以下表达式实现从特定对象检索和操作参数
//createandsetacalendargregoriancalendarc=newgregoriancalendar (; c.set(1856、7和9 ); //theconstructorargumentsarename,birthday,and nationality.inventor Tesla=new inventor (' Nikola Tesla ',c.getTime ) expressionparserparser=newspelexpressionparser (; expression exp=parser.parse expression (' name ); stringname=(string ) exp.getvalue ) Tesla; //name==' Nikola Tesla ' exp=parser.parse expression (' name==' Nikola Tesla ' ' ); boolean result=exp.getvalue (Tesla,Boolean.class; //result==true