SpringEL 表达式

今天翻阅Spring in action一书,无意中看到了SpringEL 表达式 (以下简称EL),说来惭愧,spring in action 一书已经差不多看过一遍了,居然到现在才知道 EL。

EL的用法很简单:#{表达式},跟JSP的EL表达式差不多,都是在系统运行时,根据EL中的表达式,动态获取其他bean中的属性或方法返回值。

例如:

 <bean id="itemBean" class="com.lei.demo.el.Item">
        <property name="name" value="itemA" /><!-在java中的定义:String name;-->
        <property name="total" value="10" /><!-在java中的定义:Double total;-->
	<property name="resultList" />	    <!-在java中的定义:ArrayList resultList=new ArrayList();-->
	<property name="mapInfo" />	    <!-在java中的定义:Map resultList=new HashMap();-->
    </bean>
 
    <bean id="customerBean" class="com.lei.demo.el.Customer">
        <property name="itemTotal" value="#{itemBean.total}" /><!-访问基本数据类型变量-->
        <property name="itemName" value="#{itemBean.name}" /><!-访问基本数据类型变量-->
	<property name="itemList" value="#{itemBean.resultList}" /><!-访问集合-->
	<property name="itemTitle" value="#{itemBean.resultList[0]}" /><!-访问list中的元素,通过[下标]访问-->
	<property name="itemErrorInfo" value="#{itemBean.mapInfo['error']}" /><!-访问Map中的元素,通过[KEY]访问-->
	<property name="isOK" value="#{itemBean.mapInfo['error'].equals('')}" /><!-也可以组合运算符使用-->
	<property name="resultInfo" value="#{itemBean.mapInfo['error'].equals('')?'成功':'失败'}" /><!-当然,三元运算符也可以用-->
    </bean>

以上是在XML配置文件中的写法,如果你的项目使用注解,springEL一样支持注解,用法是:@Value("#{表达式}"),例如:

@Component("customerBean")
public class Customer {
    @Value("#{itemBean.total}");
    private String itemTotal;

    @Value("#{itemBean.mapInfo['error'].equals('')?'成功':'失败'}")
    private String isOK
 
    //.....以此类推
}

好了,大概就是这个样子,谢谢阅读,这次讲的比较粗,如果理解不了解,这个文章更加细致易懂:http://www.cnblogs.com/leiOOlei/p/3543222.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值