SpEL代码

来源:互联网 发布:自学数学软件 编辑:程序博客网 时间:2024/04/29 19:48
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;}  }


0 0