2011年10月18日 星期二

JSP : 利用 PageContext 存取其他作用域屬性

類別圖
JspContext
getAttribute(String name)
getAttribute(String name, int scope)
getAttributeNamesInScope(int scope)
findAttribute(String name)

//更多方法
                                             ↑
PageContext
APPLICATION_SCOPE
PAGE_SCOPE
REQUEST_SCOPE
SESSION_SCOPE

//更多欄位
getRequest()
getServletConfig()
getServletContext()
getSession()

//更多方法

屬性存取範例
  ● Page 作用域
    <% pageContext.setAttribute("foo", one); %>
    <% pageContext.getAttribute("foo"); %>

  ● Session 作用域
    <% pageContext.setAttribute("foo", one, PageContext.SESSION_SCOPE); %>
    <% pageContext.getAttribute("foo", PageContext.SESSION_SCOPE); %>
    (等同於<% session.getAttribute("foo"); %>)

  ● Application 作用域
    <% pageContext.setAttribute("foo", one, PageContext.APPLICATION_SCOPE); %>
    <% pageContext.getAttribute("foo", PageContext.APPLICATION_SCOPE); %>
    (等同於<% application.getAttribute("foo"); %>)

不知道屬性所屬作用域,可利用 pageContext
  <% pageContext.findAttribute("foo") %>
  搜尋順序為 Request → Session → Application。先找到先贏。



沒有留言:

張貼留言