EL 的隱式對象


EL 隱式對象

  • 隱式(內置)對象就是可以直接使用對象。
  • 在之前的文章 EL 與 JSTL 簡化 JSP 操作 中介紹了 EL 常用的 2 個隱式對象:pageContext 和 cookie。EL 有 11 個隱式對象,其他的隱式對象又是什麼呢?

1. 引入

  • 回顧 demo.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>demo.jsp</title>
</head>
<body>
<h3>EL 隱式對象</h3>
${pageContext.request.contextPath} 動態獲取:項目名稱(虛擬路徑)<br>
${cookie.JSESSIONID.value} 獲取指定cookie名稱的值...<br>
</body>
</html>

2. 11個隱式對象

在這裏插入圖片描述

  • 因爲 reqeust 對象不是屬於 EL 表達式的內置對象。

3. EL 隱式對象的屬性與方法

  • 爲什麼可以獲得 pageContext.requestrequest.contextPath 呢?
  • 一個對象是否存在某個屬性數據,在 EL 表達式看來只關注 getter 方法。之所以能獲得 pageContext.requestrequest.contextPath,是因爲 pageContext 和 request 分別有 getRequest 和 getContextPath 這兩個方法。具體案例可見下面的應用。

4. 應用:頁面跳轉

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
<%--
${pageContext.request.contextPath} 獲取當前模塊的根目錄
--%>
<%-- 方法本質 --%>
<%
    request.getContextPath();  
    pageContext.getRequest();
%>
<a href="${pageContext.request.contextPath}/index.jsp">主頁</a>
</body>
</html>

原文鏈接:https://qwert.blog.csdn.net/article/details/105721081

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章