zoukankan      html  css  js  c++  java
  • spring中spEL常用应用场景

    spEL表达式表示:#{}

    一、基本类型值运算操作

      {}可以放置数字,字符串,布尔型,表达式(运算,正则,逻辑)。这个应用场景和EL表达式一样的,实际中用的也不多。

      注意:在XML中表示==,>,<,>=,<=,必须使用eq,gt,lt,ge,le代替

        使用三目运算符,如#{user.name != null ? user.name:'liming'},类似这种表达式可以简化写成#{user.name ?:'liming'},只有在判断是否为空值时才能使用这种简化写法哦。

    二、引用Bean

      虽然在<property />中引用另一个Bean可以使用"ref",但使用spEL也可以引用容器中的任意Bean,当然这种方式用的并不多。但它还有一个强大的功能,当我们只需要引用另一个Bean中的某个属性值,我们就可以使用spEL表达式来写了,例如<property name="name" value="#{user.name}" />,这里就相当于调用了user.getName()。如果你想调用user里非get**方法的话,如user里有selectUser(),就写成#{user.selectUser()}

      注意:这里如果user的为null,调用selectUser()方法就会报空指针异常,解决的方法是采用null-safe存储器,也就是user?.selectUser(),这里就会现判断user是否为null,如果为空就不调用selectUser()方法了,直接返回null值。

    三、操作类

      当我们需要装载一个类到一个Bean属性中时,我们可以使用T()运算符,如#{T(java.lang.Math)},同样我们可以调用类里的静态成员变量和静态方法,如#{T(java.lang.Math).PI},#{T(java.lang.Math).random()}

  • 相关阅读:
    OC-数组类
    OC-字符串函数
    C——位操作
    C——字符串练习
    C语言——指针习题
    指针数组和数组指针
    数组指针和指针数组的区别
    cocos2d-iphone中兼容iphone/ipad的问题
    一个Universal程序还是iPhone、iPad俩个版本 ?
    objective-c获取自1970年以来的毫秒数
  • 原文地址:https://www.cnblogs.com/manliu/p/4492167.html
Copyright © 2011-2022 走看看