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表达式

EL

Expression 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”。

JSP_EL使用的更多相关文章

  1. JSP_EL的回顾

    在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Standa ...

随机推荐

  1. iOS开发——实战OC篇&环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)

      环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)   研究了这么就IOS开发,都没有所处一个像样或者自己忙一点的项目.最近自 ...

  2. javascript异步延时载入及推断是否已载入js/css文件

    <html> <head> <script type="text/javascript"> /**======================= ...

  3. docker(4):coreos+docker+rancher真厉害

    http://blog.csdn.net/freewebsys/article/category/3103827

  4. 解决TIME_WAIT过多问题

    http://bbs.linuxtone.org/thread-853-1-1.html http://bbs.linuxtone.org/thread-2327-1-1.html

  5. 一款基于jQuery的支持鼠标拖拽滑动焦点图

    记得之前我们分享过一款jQuery全屏广告图片焦点图,图片切换效果还不错.今天我们要分享另外一款jQuery焦点图插件,它的特点是支持鼠标拖拽滑动,所以在移动设备上使用更加方便,你只要用手指滑动屏幕即 ...

  6. 如何在Fedora或CentOS上使用Samba共享

    如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了.在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明.如果您工作的环境中既有微软的Window ...

  7. 代码片段------find批量处理

    应用案例: 当前目录下有若干目录,有多个目录下有一个名叫build.sh的脚本,但是没有可执行权限,现在要将所有的build.sh假如可执行权限. pengdl@debian:~/work/SDK_3 ...

  8. html元素英文含义

    常用html标签的英语全称及简单功能描述 <a>:anchor 定义锚 <abbr>:abbreviation 定义缩写 <acronym>: 定义只取消首字母的缩 ...

  9. xml<>编译

    < 用 <    >用 >      表示"空格"

  10. Oracle基础 exp/imp和expdp/impdp的区别:

    一.exp/imp和expdp/impdp在功能上的区别: 1.把用户usera的对象导入到userb emp/imp用法: formuser=usera touser=userb; empdp/im ...