4、SpELTest_Simple(spring express language spring3.0新增)
首先说一下动态语言:
简而言之就是语言中包含语言,比如:JavaScript里面的 eval("alert('hello');"); ,这是一个典型的动态语言。同理Java动态语言也一样。
下面是一个比较复杂的运用SpELTest_Simple的例子
首先说一下动态语言:
简而言之就是语言中包含语言,比如:JavaScript里面的 eval("alert('hello');"); ,这是一个典型的动态语言。同理Java动态语言也一样。
@Test
public void test01() {
ExpressionParser parser = new SpelExpressionParser(); //语言解析器
Expression exp = parser.parseExpression("'Hello,World'"); //里面不是一个简单的字符串,而是按Java语法进行解析
System.out.println((String)exp.getValue());
}
下面是一个比较复杂的运用SpELTest_Simple的例子
@Test
public 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动态语言例子