JSP_EL使用

JSP中EL表达式的简单介绍和使用

 

参考资料:

http://www.java3z.com/cwbwebhome/article/article8/8124.html?id=2453

 

http://www.blogjava.net/rabbit/archive/2010/01/22/310560.html

 

 

写在前面的话:J2ee5默认不支持El表达式,如何开启支持?见我的另一篇文章。

J2EE5(Servlet2.5)对EL表达式的支持

 

 

 

 

1.什么是EL表达式

ELExpression Language (表达式语言)最初是在 JSTL1.0 中定义, JSP2.0 引入,可以和 JSTL 结合使用也可以了 scriptlets 结合使用。


2.常用功能

A.取值(一级或多级)      B.执行逻辑关系运算


3.EL表达式的取值操作(${ bean.name }   ${  bean['name'] }

     3.1.${obj}//会自动到内置对象(pageScope,requestScope,sessionScope,applicationScope)里面获取名为“obj”的属性。如同以下代码。在这里如果request和session范围都有一个名为“obj”的属性,那么取到的是request范围内的。也就是说它查找的范围是从小到大,如果找到就不再去大范围内找。如果没有找到,就接着向大的范围搜索,如果最后都找完了,还是没找到,那么就是null,在页面显示的就是空白。 当然这里我们也可以指定范围,例如${sessionScope.userName},这个时候就只会到session里面去搜索,如果找不到就是null。

<%=session.getAttribute("obj")%><jsp:getProperty name="" property=""/>
 

 

     3.2.${obj.attr1}//这里和上面不同的一点是,它是多级的。也就是说obj这个属性对应的不再是一个简单的字符串(String)或者数字(Integer)(当然这里也会自动装箱拆箱),而是我们自己定义的一个POJO的对象。此时我们用${obj}取到的是obj对应的对象的内存地址,如果要访问他的属性,就按“对象.属性”的方法。如果要获取User这个对象的name属性。$(user.name),这个其实调用的是user.getName()方法。所以我们的POJO要提供相应的getter,这里才能取到。


4.EL表达式的逻辑运算操作(与JSTL条件判断标签结合使用)


 ${1==2}
   ${obj1.age>obj2.age  && 1>0}
   ${empty obj.address}${not empty obj.address}
   ${null==obj}
  
   <c:if test="${null==obj}">
           Hello EL!
   </c:if>

 条件判断主要是用于判断真假,这里要注意一下“empty”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值