A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 犁不动田de大牛 初级黑马   /  2019-5-24 19:07  /  496 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

EL表达式
Expression Language 表达式语言,常用于取值
我们之前在JSP中写java代码必须写在<%%>里面。并且取值代码比较繁琐。
而EL表达式可以使我们的取值代码更加简洁

语法非常简单

${}
1
看个小例子:

我们在一个表单填写账号和密码提交后在成功页面显示出账号密码。

这里就直接贴成功页面的代码

<%--
  Created by IntelliJ IDEA.
  User: YZQ
  Date: 2018/7/29
  Time: 20:16
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录成功</title>
</head>
<body>

<h1>登录成功</h1>


<h3>传统的取值方式</h3>
用户名:<%=request.getAttribute("account")%>
<br>
密码:<%=request.getAttribute("pwd")%>


<h3>EL表达式取值</h3>

<%--使用EL表达式取值--%>
用户名:${requestScope.account}
<br>
密码: ${pwd}
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
运行结果:



可以看到,使用EL表达式取值非常的简单,直接${account}即可,我们的jsp页面主要就是用来显示数据的,那么,使用EL表达式则可以减少很多取值的代码。这些值是从哪取的呢,实际上就是从四大作用域中获取的。
servlet中的四个作用域分别为page,request,session,application
我们可以指定在某个作用域中取数据。
例如

<%--从 page 作用域中查找account--%>
${pageScope.account}
<%--从 request 作用域中查找account--%>
${requestScope.account}
<%--从 session 作用域中查找account--%>
${sessionScope.account}
<%--从 application 作用域中查找account--%>
${applicationScope.account}
1
2
3
4
5
6
7
8
如果我们不指定作用域的话,直接${account}的话,默认会按照作用域的范围从小到大依次查找,找到第一个为止,都找不到的话则为空
作用域从小到大:page->request->session->application

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马