JavaWeb——EL表达式
一、作用
EL表达式主要是代替Jsp页面中的表达式脚本在Jsp页面中进行数据的输出。
二、语法格式
${合法的表达式}
注意:
1.EL表达式不可以定义变量,也不可以使用脚本中声明的变量,但是可以访问请求参数,作用域变量,JavaBeans以及EL隐含变量。
2.EL表达式在输出null值的时候,输出的是空串,而jsp表达式脚本输出null值的时候,输出的是null
三、访问作用域变量
访问作用域变量,只需在EL表达式中使用变量名:
${key}
容器会依次在页面作用域、请求作用域、会话作用域、应用作用域中查找(由小到大),如果找到了该属性,则返回属性值,否则返回空串。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
pageContext.setAttribute("username","pageContext");
request.setAttribute("username","request");
session.setAttribute("username","session");
application.setAttribute("username","servletContext");
%>
${username}
</body>
</html>
输出pageContext。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
pageContext.setAttribute("username","pageContext");
request.setAttribute("username","request");
session.setAttribute("username","session");
application.setAttribute("username","servletContext");
pageContext.forward("variables.jsp");
%>
${username}
</body>
</html>
将请求转发到另一个页面
输出:request,因为pageContext作用域只在当前的页面。
三、访问JavaBeans属性
public class Address implements Serializable {
private String city;
private String street;
private String zipCode;
public class Employee implements Serializable {
private String name;
private String email;
private String phone;
private Address address;