EL表达式

一、概述#

是为了简化jsp代码,具体一点就是为了简化在jsp里面写的那些java代码。

二、写法格式

1
${表达式}

如果从作用域中取值,会先小的作用域开始取,如果没有,就往下一个作用域取。 一直把四个作用域取完都没有, 就没有显示。

三、简单使用

简单取数:##

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<% 
pageContext.setAttribute("name","pageContext");
request.setAttribute("name","request");
session.setAttribute("name","session");
application.setAttribute("name","application");
%>

以普通方式取出数据:</br>
<%=pageContext.getAttribute("name")%>
<%=request.getAttribute("name")%>
<%=session.getAttribute("name")%>
<%=application.getAttribute("name")%>
</br>

以EL表达式取出数据:</br>
${pageScope.name} //直接精确的去找name
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
</br>

细节:
   ${ name }:找寻顺序是:page –> request –> session –>application
   ${ sessionScope.name } :精确地寻找(Scope) 到session的

数组

1
2
3
4
5
6
7
8
9
10
11
12
<% 
String[] a={"aa","bb","cc","dd"}; //注册一个a数组
pageContext.setAttribute("array",a); //将a数组的存到array数组
%>
</br>

数组中的值:</br>
${array[0]} //然后利用下标找(有下标通过 [] )
${array[1]}
${array[2]}
${array[3]}
</br>

List集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<% 
List list=new ArrayList(); // alt+/ 提示出然后加import

list.add("11"); //list集合添加元素是add()方法
list.add("22");
list.add("33");
list.add("44");
pageContext.setAttribute("array",list); //将list数组的存到array数组
%>

List集合:</br>
${array[0]} //然后利用[]找(有下标通过 [] )
${array[1]}
${array[2]}
${array[3]}
</br>

Map集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<% 
Map map=new HashMap(); // alt+/ 提示出然后加import

map.put("name","zhangsan"); //map集合添加元素是put()方法
map.put("age","19");
map.put("address","南京...");

pageContext.setAttribute("array",map); //将map数组的存到array数组
%>

Map集合:</br>
${array.name} //然后利用.找(没有下标通过 . )
${array.age}
${array.address}
</br>

总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1.如果这份值是有下标的,那么直接使用[]

<%
String [] array = {"aa","bb","cc"}
session.setAttribute("array",array);
%>

${ array[1] } --> 这里array说的是attribute的name


2.如果没有下标,直接使用 .的方式去取

<%
User user = new User("zhangsan",18);
session.setAttribute("u", user);
%>

${ u.name }
${ u.age }

四、EL表达式的11个内置对象

  相对于JSP的9个内置对象而言,EL加强了其中的几个方面得到了11个内置对象。

使用模板:

1
${ 对象名.成员 }
  • pageContext

作用域相关对象(JSP对应的作用域pagecontext/request/session/application)

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope

头信息相关对象

  • header
  • headerValues

参数信息相关对象

  • param
  • paramValues
  • cookie
    全局初始化参数
  • initParam

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 一、概述#
  2. 2. 二、写法格式
  3. 3. 三、简单使用
    1. 3.1. 简单取数:##
    2. 3.2. 数组
    3. 3.3. List集合
    4. 3.4. Map集合
    5. 3.5. 总结
  4. 4. 四、EL表达式的11个内置对象
,