標籤:style color io os 使用 ar sp on ef
JSP中變數的定義範圍實際有5種:本地範圍,頁面範圍(page),請求範圍(request),會話範圍(session)和應用程式範圍(application)。
以下介紹在各種技術中的變數存取方法。
u JSP中:
儲存:
本地範圍變數直接定義,如:
String name="name in page";
page範圍變數儲存在pageContext隱式對象中,如:
pageContext.setAttribute("nameContext","name in pageContext");
request範圍變數儲存在request隱式對象中,如:
request.setAttribute("nameRequest","name in Request");
session範圍變數儲存在session隱式對象中,如:
session.setAttribute("nameSession","name in Session");
application範圍變數儲存在application隱式對象中,如:
application.setAttribute("nameApplication","name in Application");
讀取:
name:<%=name%><br/>
nameContext:<%=pageContext.getAttribute("nameContext").toString()%><br/>
nameRequest:<%=request.getAttribute("nameRequest").toString() %><br/>
nameSession:<%=session.getAttribute("nameSession").toString() %><br/>
nameApplication:<%=application.getAttribute("nameApplication").toString() %>
u JSTL中
JSTL中沒有本地範圍的概念。只有page,request,session和application範圍的變數。
儲存
使用c:set儲存變數。
scope屬性預設為page, 若不指定則變數儲存在page範圍裡:
<c:set var="name" value="name in where"/>
<c:set var="namePage" value="name in pageScope" scope="page"></c:set>
<c:set var="nameRequest" value="name in requestScope" scope="request"></c:set>
<c:set var="nameSession" value="name in sessionScope" scope="session"></c:set>
<c:set var="nameApplication" value="name in ApplicationScope" scope="page"></c:set>
讀取
使用c:out讀取變數
c:out標籤依次從page,request,session,application範圍尋找指定變數然後輸出。也可以指定尋找範圍。
nameSession - <c:out value="${nameSession}"/> - 依次搜尋至session範圍,找到nameSession變數,然後輸出。<br/>
namePage - <c:out value="${pageScope.namePage }"/> - 指定搜尋範圍為page範圍<br>
nameRequest - <c:out value="${requestScope.nameRequest }"/> - 指定搜尋範圍為request範圍<br>
nameSession - <c:out value="${sessionScope.nameSession }"/> - 指定搜尋範圍為session範圍<br>
nameApplication - <c:out value="${applicationScope.nameApplication }"/> - 指定搜尋範圍為application範圍<br>
name - <c:out value="${pageScope.name }"/>
struts中
跟JSTL一樣,只有page,request,session,application範圍。
儲存
使用bean:define
toScope屬性指定儲存範圍,預設為page, 若不指定則變數儲存在page範圍裡
讀取
使用bean:write
scope屬性指定讀取範圍,若沒有設定此屬性,則依次從page,request,session,application範圍尋找指定變數然後輸出。
變數存取範圍及JSP、JSTL和Struts技術中變數的存取方法