Spring3.0新特性(四)

4、SpELTest_Simple(spring express language spring3.0新增)

首先说一下动态语言:
  简而言之就是语言中包含语言,比如: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动态语言例子

你可能感兴趣的:(JavaScript,java,spring)