zoukankan      html  css  js  c++  java
  • SpEL表达式

    总结自:www.jianshu.com/p/61f7c6fe03ec 

    SpEL是一种表达式语言,可以与spring应用程序运行时的对象交互,可简化开发,减少一些逻辑、配置的编写。

    能在配置文件中使用,也能在注解中使用(常用于@Value等)

    备注:SpEL都是#{}的格式

    字面值

    整数

    #{5}

    浮点数

    #{3.1415}

    科学计数法

    #{9.87E4}

    字符串(使用单引号/双引号,皆可

    #{'hello'}  或 #{"hello"}

    boolean值

    #{true}

    引用Bean并使用其属性与方法

    通过ID引用bean

    #{a}  //a为bean的id

    使用bean的属性

    #{a.b}

    使用bean的方法

    #{a.c()}

    可链式调用

    #{a.c().toUpperCase()}

    通过.?(类型安全的运算符)避免空指针(NullPointerException)

    #{a.c()?.toUpperCase()}

    即:a.c()存在时才使用toUpperCase()

    备注:?.不是三元运算符

    使用类类型

    即:通过T()可以访问类作用域的方法和常量的话

    通过T()获取常量

    #{T(java.lang.Math).PI}

    通过T()获取方法

    #{T(java.lang.Math).random()}

    运算符

    计算符,如*、+、-...

    #{T(java.lang.Math).PI*circle.r^2}

    比较运算符

    #{a.b==100}

    #{a.b eq 100}

    三元运算符

    #{scoreboard.score > 1000 ? "winner" : "loser"}

    正则表达式

    #{admin.email matches '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9._%+-]+\.com'}

    集合

    通过[]引用集合中的一个元素

    #{jukebox.song[4].title}

    备注:[]也可用于字符串

    如:#{'this is a test' [3]}

    重点:

    集合运算符

    .?[](查询运算符)对集合过滤

    #{jukebox.songs.?[artist eq 'Aerosmith']}

    检查歌曲的artist属性是不是等于Aerosmith,是的话放入新的集合。
     

    .^[]”和“.$[]”,它们分别用来在集合中查询第一个匹配项和最后一个匹配项

    投影运算符( .![]),它会从集合的每个成员中选择特定的属性放到另外一个集合中




  • 相关阅读:
    IE hack [if IE]解决IE CSS 兼容问题
    jQuery重要插件、JS辅助工具
    几个jQueryUI框架
    推荐书籍
    Win7下用原生的ie6调试网页
    Code First :使用Entity. Framework编程(3)
    Code First :使用Entity. Framework编程(6)
    JSON数据格式转换
    Code First :使用Entity. Framework编程(5)
    Code First :使用Entity. Framework编程(4)
  • 原文地址:https://www.cnblogs.com/yanze/p/10709862.html
Copyright © 2011-2022 走看看