spring expression使用總結


Sample sample = new Sample();

ExpressionParser parser = new SpelExpressionParser();

EvaluationContext context = new StandardEvaluationContext(sample);
Expression exp;

//判斷對象或字符串是否為NULL
exp = parser.parseExpression("id!=null");
boolean result = exp.getValue(sample, Boolean.class);
boolean result = exp.getValue(context, Boolean.class);
//判斷字符串不為空(去除空格) ?的作用是為了防止空指針異常
exp = parser.parseExpression("name?.trim()?.length() > 0");
boolean result = exp.getValue(sample, Boolean.class);
boolean result = exp.getValue(context, Boolean.class);
//使用正則表達式
exp = parser.parseExpression("mail != null && (mail matches '^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$')");
boolean result = exp.getValue(sample, Boolean.class);
boolean result = exp.getValue(context, Boolean.class);
//判斷集合不為空
exp = parser.parseExpression("list?.size()>0");
boolean result = exp.getValue(sample, Boolean.class);
boolean result = exp.getValue(context, Boolean.class);
//查找集合中ID大於1的數據,無數據賦值null ?:三目運算符簡寫
exp = parser.parseExpression("list?.?[id>1]?:null");
List<Sample> result = exp.getValue(sample,List.class);
List<Sample> result = exp.getValue(context,List.class);

#root代表根節點通常是可以省略。#root.name==>name



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM