关于EL表达式

时间:2022-05-29 13:14:17
我一直很纠结EL表达式的使用范围,就是说能写在哪些地方,哪些范围内的值才能直接用EL来获取,我只知道jsp页面可以写EL表达式,最近在学习mybatis,疑惑为什么dataSource里面的property标签里面的值,能直接用EL表达式获取呢,就像这样:<property name="driver" value="${jdbc.driver}"/>,但这些内容不是写在xml文件的吗?在网上查了半天也没个好一点的回复,希望有大神能不吝赐教 关于EL表达式

4 个解决方案

#1


后台解析配置文件时会查找el表达式并替换对应的值,你可以看下mybatis的源码。

#2


el表达式就从你的reques里面取值  是jsp提供的一种简单实用的写法 其中还包括一些实用的函数和算法  都是在${}  里面使用。

#3


El表达式的作用就是能够后台解析配置文件,你在写数据库时应该会有个数据库的配置文件db.properties去配置数据库的driverClass,url,user,password。xml中的el表达式就是来解析配置文件db.properties的。

#4


<!--把你需要的属性写在一个属性文件里,在这里引用-->
<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true" />
<!--然后这里就可以用表达式获取-->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWait}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>

#1


后台解析配置文件时会查找el表达式并替换对应的值,你可以看下mybatis的源码。

#2


el表达式就从你的reques里面取值  是jsp提供的一种简单实用的写法 其中还包括一些实用的函数和算法  都是在${}  里面使用。

#3


El表达式的作用就是能够后台解析配置文件,你在写数据库时应该会有个数据库的配置文件db.properties去配置数据库的driverClass,url,user,password。xml中的el表达式就是来解析配置文件db.properties的。

#4


<!--把你需要的属性写在一个属性文件里,在这里引用-->
<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true" />
<!--然后这里就可以用表达式获取-->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWait}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>