EL 与 JSTL(1)( EL 表达式基础知识)

EL 表达式用美元符号“$”定界,内容包含在一对花括号“{}”中,例如:${expression}。
EL 表达式语法很简单,它最大的特点就是使用很方便。

 1.EL 表达式特点

(1)在 EL 表达式中可以获得命名空间(PageContext 对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他内置对象);
(2)表达式可以访问一般变量,还可以访问 JavaBean 类中的属性以及嵌套属性和集合对象;
(3)在 EL 表达式中可以执行关系、逻辑和算术等运算;
(4)扩展函数可以与 Java 类的静态方法进行映射;
(5)在表达式中可以访问 JSP 的作用域(request,session,application 以及 page)。
<jsp:useBean id="dao" scope="page" class="com.UserInfoDao"></jsp:useBean> 
<%dao.name;%> <!--调用 UserInfoDao 类中 name 属性--> 
<%dao.getName();%> <!--调用 UserInfoDao 类中 getName()方法-->
<jsp:useBean id="dao" scope="page" class="com.UserInfoDao"></jsp:useBean> 
${dao.name} <!--调用 UserInfoDao 类中 name 属性--> 
${dao.getName()} <!--调用 UserInfoDao 类中 getName()方法-->

2.EL 获取变量值的方法

 EL 使用到的变量作用域范围的名称:
  1.  page 范围:在 EL 中使用名称 pageScope;
  2.  request 范围:在 EL 中使用名称 requestScope;
  3.  session 范围:在 EL 中使用名称 sessionScope;
  4.  application 范围:在 EL 中使用名称 applicationScope。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% String s1 = "Hello!"; 
 request.setAttribute("s1",s1); 
 String s2="Hello!"; //未将 s2 放入域空间,EL 将无法获取
 %>
 <%="${s1}"%>=${s1} <br> 
 <%="${s2}"%>=${s2} <br>

</body>
</html>

3.EL 利用“[ ]”与“.”操作符取数据

 

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% char[] ch = { '1', '2' }; 
 request.setAttribute("ch", ch); //将字符数组变量 ch 置于 requestScope 域,以便 EL 可以访问。 
 String s1 = "Hello,how are you!"; 
 request.setAttribute("s1", s1); 
 List<String> list = new ArrayList<String>();
 list.add("first"); 
 list.add("second"); 
 request.setAttribute("list", list); 
 HashMap<Long, String> map1 = new HashMap<Long, String>(); 
 map1.put(0L, "天翼"); 
 map1.put(1L, "翼支付"); 
 request.setAttribute("map1", map1); 
 %>
 s1=${s1}<br> 
 字符数组:<%="${ch[1]}"%>=${ch[1]} <br> 
 List 集合:<%="${list[1]}"%>=${list[1]}<br> 
 Map 集合:<%="${map1[1]}"%>=${map1[1]} <br>
 
 
</body>
</html>

 4.EL 表达式中的隐式对象

猜你喜欢

转载自blog.csdn.net/weixin_62190821/article/details/127777604