Spring3.0新特性(四)
4、SpELTest_Simple(spring express language spring3.0新增)
首先说一下动态语言:
简而言之就是语言中包含语言,比如:JavaScript里面的 eval("alert('hello');"); ,这是一个典型的动态语言。同理Java动态语言也一样。
@Testpublic void test01() {ExpressionParser parser = new SpelExpressionParser(); //语言解析器Expression exp = parser.parseExpression("'Hello,World'"); //里面不是一个简单的字符串,而是按Java语法进行解析System.out.println((String)exp.getValue());}
@Testpublic void test02() {User u = new User();u.setUsername("zhangsan");EvaluationContext context = new StandardEvaluationContext(u);ExpressionParser parser = new SpelExpressionParser();Expression exp = parser.parseExpression("username"); //u.getUsername()System.out.println((String)exp.getValue(context));System.out.println((String)exp.getValue(u));}//"new HelloWorld().sayHello()" java不能不这个字符串当做Java语法进行解析//eval("alert('ok');"); JavaScript动态语言例子