9、el表达式的使用

时间:2022-07-20 04:51:55

一、EL表达式的作用:

  1)、使用变量访问web域中存储的对象 ${user }

  2)、访问javabean的属性   ${user.address.city }

  3)、执行基本的逻辑运算(el表达式避免了空指针异常)

  4)、 调用 el 函数

二、EL表达式的使用

  1、语法结构:
    ${expression}
  2、[ ]与.运算符:
    EL 提供“.“和“[ ]“两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:
      ${ user. My-Name}应当改为${user["My-Name"]}
    如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:——${sessionScope.user[data]}中data 是一个变量
  3、变量:
    EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
The book name is ${bookName} ;<br>
<!-- el表达式执行基本的逻辑运算 -->
${1+2 }<br/>
${5 < 7 }<br/>
${5<7 && 4 >6 }<br/>
${5<7 || 4 >6 }<br/>
<!-- 获取数组 -->
${arr[0] }<br/>
${arr[1] }<br/>
${arr[2] }<br/>
${arr[3] }<br/>
${arr[5] }<br/>
${list[0]}<br> <!-- list集合可以用下标读出来 -->
<!-- 获取数组 -->
${list[1]}<br>
${list[2]}<br>
${list[3]}<br>
${list[4]}<br>
${list[5]}<br>
<!-- 获取Map -->
${map["key1"] } == ${map.key1 }<br/>
${map.key2 }<br/>
</body>
</html>