您的位置:首页 > 编程语言

SpEL代码

2014-04-18 21:31 204 查看
public class SpEL {
    public static void main(String[] args) {
		ExpressionParser parser=new SpelExpressionParser();
		EvaluationContext ctx=new StandardEvaluationContext();
		List<String> list=new ArrayList<String>();
		list.add("java");
		//list.add("java3");
		list.add("java2");
		list.add("java1");
		ctx.setVariable("mylist", list);
		List<Integer> list1 = new ArrayList<Integer>();
		list1.addAll(Arrays.asList(2, 3, 4, 5, 6, 7, 9));
		ctx.setVariable("list", list1);
		parser.parseExpression("#mylist[1]='123'").getValue(ctx);
		System.out.println(parser.parseExpression("#mylist.size()>3?'大于3':'小于或等于3'").getValue(ctx));
		//System.out.println(parser.parseExpression("#mylist[1]").getValue(ctx));
//		System.out.println(parser.parseExpression("T(java.lang.Math).random()").getValue(ctx));
		System.out.println(parser.parseExpression("T(System).getProperty('os.name')").getValue(ctx));
	//System.out.println(System.getProperty("os.name"));
		// 7 
		//System.out.println(parser.parseExpression("new javax.swing.JFrame('测试').setVisible('true')").getValue());
	//8.变量 #root #this   +集合选择 
		System.out.println(parser.parseExpression(
		        "#list.?[#this >5]").getValue(ctx));  //[6,7,9]

		
	//9.自定义函数
	//	System.out.println(parser.parseExpression("new javax.swing.JFrame('测试').setVisible('true')").getValue());
    //表达式模板 
		 Person p=new Person ("aa",1,183);
		 Person p1=new Person ("aa11",2,173);
		 System.out.println(parser.parseExpression("我的名字是#{name},年龄是#{age},身高是#{h}",new TemplateParserContext()).getValue(p));
		 System.out.println(parser.parseExpression("我的名字是#{name},年龄是#{age},身高是#{h}",new TemplateParserContext()).getValue(p1));
    }
   /* 小于或等于3
    Windows XP
    [6, 7, 9]
    我的名字是aa,年龄是1,身高是183
    我的名字是aa11,年龄是2,身高是173*/
}

person.java

package qust.fang.chao.spEl;

public class Person {
	String name;
public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getH() {
		return h;
	}
	public void setH(int h) {
		this.h = h;
	}
int age;
int h;
public Person(String name, int age, int h) {
	super();
	this.name = name;
	this.age = age;
	this.h = h;
}
  

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: