精通Spring+4.x++企业开发与实践之SpEL

java支持动态语言javascript

例子:javascript

ScriptEngineManager manager = **new** ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(**"JavaScript"**);
String scriptText = **"function sum(a,b) {return a+b}"**;
注册JavaScript求和函数脚本_ engine.eval(scriptText);
Invocable invocable = (Invocable)engine;
调用注册的javascript执行脚本_ Object result = invocable.invokeFunction(**"sum"**,100,201);
System._out_.println(**"sum:"**+result);

虽然JVM支持不少脚本语言(javaScript,Jruby,jython等),可是都是须要相应的封装才能使用,想的比较笨重,所以SpEL就有了它发挥的余地。java

SpEL的概述

SpEL表达式语言相似EL表达式,和其余的表达式相比,具备更加简洁,灵活的特色。SpEL不依赖Spring框架,能够独立使用,可是在基于Spring框架的基础上能够更好的使用。SpEL抽象了一个通用的表达式操做API,所以能够很好的于其余动态语言进行集成spring

要使用SpEL就须要导入依赖express

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${expression.version}</version>
		</dependency>

例子:ruby

ExpressionParser parser = new SpelExpressionParser();
		Expression exp = parser.parseExpression("'hello'+' world'");
		String message = (String)exp.getValue();
		System.out.println(message);

执行结果是: hello world框架

相关文章
相关标签/搜索