EL表达式

页面显示信息的方式:


1、 EL表达式,就是用来获取以下三种数据类型的信息

1:集合或是。

2:数组

3:Bean

所有的隐藏对象,全部的都是Map类型

 除了pageContext




一、EL表达式简介:

  

lEL(ExpressionLanguage)表达式,语言是在JSP2.0入的新特性,它用于在JSP文件中进行数据访问。即从各个域对像中取出数据用于显示。
•  如:${name}相当于<%=pageContext.getAttribute(“name”)%>
  lEL表达式,可以用来替代传统的基于<%=…%>的Java形式。
  lEL表达式,可以替代<jsp:getProperty…/>这样的jsp标签。
•如${person.name}
•相当于<jsp:getProperty name=“person” property=“name”/>
l

二:EL表达式语法:


lEL表达式的基本语法为:${var},所有的表达式,都以${开头,以}结尾。
l如果使用EL表达式如${name},它将会pageContext,request,session,application范围内依次查找,如果找到就将内容显示到页面上,如果没有就显示空字符串,这一点一定要区别与jsp:getProperty,在使用jsp:getProperty时,如果属性值为null,则会在页面上显示null的字符串,而EL表达式,在页面上显示空字符串。

三:EL表达式访问对像的属性及数组元素


 
 
EL表达式,可以使用.(点)来访问对像的属性,如:
${person.name}表示Person对像的name属性。
注意:EL表达式,不仅可以获取JavaBean的属性,还可以获取Map中的属性,使用方法一样,这一点显示了EL表达式的灵活之处。
如:
EL表达式,可以使用[…]来访问对像的属性,如:
${person[“name”]}表示Person对对象的name属性。
EL表达式,可以使用[idx]来访问数组的元素,如:
${person[0]}表示第一个person对象。


四:EL的运算符:

l算术运算符:+- * / %
l比较运算符:==、!=、<、>、<=、>=
l逻辑运算符:&&、||、!(取反)
lempty运算符:如${emptyname}如果name为null或空字符串,就返回true。
l条件运算符:${a?b:c},如:${16>5?16:5}
l
l关于empty的更多说明:
如果测试的某个变量不存在,即没有定义则返回true.
如果变量的值为null则返回true.
如果是一个List或Map,且此集合中不包含任何元素仍然为true.
可以使用${!empty var}进行取反操作


empty运算符

 <%

 Person person = new Person();

  pageContext.setAttribute("person",person);

 List<String> list = new ArrayList<String>();

  pageContext.setAttribute("list",list);

 Map<String,Object> map = new HashMap<String,Object>();

  pageContext.setAttribute("map",map);

 %>

${empty person}<br/><!-- 返回false,因为person是实例对像 -->

${empty list}<br/><!-- 返回true,因为list没有数据 -->

${empty map}<br/><!-- 返回true -->

${!empty map}<br/><!-- 返回false-->



五:EL的隐含对像



1.表示HTTP请求的特定数据:



2.表示特定范围:

${pageScope.name}<!-- 等价与pageContext.getAttribute("name") -->

<br/>

${requestScope.name}<!-- 等价与request.getAttribute("name") -->


以下是获取某个范畴中值:

<body>

    <%

       pageContext.setAttribute("name","Jack");

       pageContext.setAttribute("name","Rose",PageContext.REQUEST_SCOPE);

    %>

    <hr/>

    <%=pageContext.getAttribute("name",PageContext.REQUEST_SCOPE)%>

    <hr/>

    <!-- 相当于pageContext.findAttribute("name")如果找不到就返回""空串 -->

    ${name}

    <br/>

    <!-- 获取某个指定的数据,可以指定从哪儿取 -->

    ${requestScope['name']}

    <br/>

    ${requestScope.name


以下是用EL获取cookie的值

<body>

    ${cookie['JSESSIONID'].value}

    <br/>

    ${cookie.JSESSIONID['value']}


3:在EL中使用PageContext获取上下文




4.表示Web应用的初始化参数:



六:EL表达式的优点和不足:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值