JSP sessionScope物件:存取session作用域範圍的隱含物件

2020-07-16 10:04:59
sessionScope 是 EL 表示式中的隱含物件,該物件與 JSP 中的 session 物件類似。只不過該物件只能用來取得指定範圍內的屬性值,而不能取得其他相關資訊。

語法:

${sessionScope.expression}

引數說明:
  • expression:request 物件中的屬性。

範例

要獲取 session 範圍內的 user 變數的值,可以使用以下 EL 表示式:
${sessionScope.user}

典型應用

本範例通過使用 EL 表示式的隱含物件獲取相關資訊,分別使用 Header 獲取相關資訊,並使用 requestScopse 與 sessionScope 物件分別獲取儲存在 request 物件與 session 物件中的資料。程式碼如下:
<body>
  <p>EL物件使用</p>
  <%
     request.setAttribute("name","mrRequest");  //向requset物件儲存資訊
     session.setAttribute("name","mrSession");  //向session物件儲存資訊
     application.setAttribute("name","mrApplication");  //向application物件儲存資訊
     %>
    header物件的使用:<br>
    Host:${header.host}<br>
  <%--獲取header屬性--%>
    Accept:${header.accept}<br>
    requestScope物件的使用:<br>
    request.name${requestScope.name}<br>
  <%--獲取request物件屬性--%>
    sessionScope物件的使用:<br>
    session.name${sessionScope.name}
  <%--獲取session物件屬性--%>
</body>
執行結果如下:
EL物件使用

header物件的使用:
Host:127.0.0.1:8080
Accept:*/*
request.scope物件的使用:
requ.name mrRequest
sessionScope物件的使用:
session.name mrSession