ELContext

public abstract class javax.el

ELContext

表達式求值的上下文信息。
若要求一個 Expression 的值,必須提供一個 ELContextELContext 包含:
  • 對 base ELResolver 的引用,將參考該 base 來解析模型對象及其屬性
  • FunctionMapper 的引用,它將用來解析 EL 函數。
  • VariableMapper 的引用,它將用來解析 EL 變量。
  • ELResolver 使用的所有相關上下文對象所組成的 Collection
  • 表達式求值期間的狀態信息,如屬性是否已被解析
上下文對象 Collection 是必需的,因爲每個 ELResolver 可能需要訪問不同的上下文對象。例如,JSP 和 Faces 解析器分別需要訪問 javax.servlet.jsp.JspContextjavax.faces.context.FacesContext
通過底層技術可以控制 ELContext 對象的創建。例如,在 JSP 中,使用 JspContext.getELContext() 工廠方法。某些技術提供添加 ELContextListener 的功能,以便應用程序和框架可以確保其自己的上下文對象連接到任何新建的 ELContext
由於它存儲表達式求值期間的狀態,因此 ELContext 對象不是線程安全的對象。請注意,不要在兩個或多個線程之間共享 ELContext 實例。
sinceJSP 2.1
See also javax.el.ELContextListener, javax.el.ELContextEvent, javax.el.ELResolver, javax.el.FunctionMapper, javax.el.VariableMapper, javax.servlet.jsp.JspContext

Constructors
public ELContext()

Methods
public void putContext(Class<T> key, Object contextObject) Hide
zh_cn
將上下文對象與此 ELContext 關聯。
ELContext 維護與表達式計算相關的上下文對象的 Collection。這些上下文對象由 ELResolver 使用。使用此方法向該 Collection 中添加上下文對象。
按照慣例,contextObject 將爲 key 指定的類型。但是,並不要求這樣做,鍵將被嚴格地用作唯一標識符。
key
zh_cn
ELResolver 用來標識此上下文對象的鍵。
contextObject
zh_cn
要添加到 Collection 的上下文對象。
ThrowsNullPointerException:
zh_cn
如果 key 爲 null 或者 contextObject 爲 null。

Properties
public Object getContext(Class<T> key) Hide
zh_cn
返回與給定鍵關聯的上下文對象。
ELContext 維護與表達式計算相關的上下文對象的 Collection。這些上下文對象由 ELResolver 使用。使用此方法從 Collection 中獲取具有給定鍵的上下文。
按照慣例,返回的對象將爲 key 指定的類型。但是,並不要求這樣做,鍵將被嚴格地用作唯一標識符。
key
zh_cn
用於將上下文對象與此 ELContext 關聯的唯一標識符。
return
zh_cn
返回與給定鍵關聯的上下文對象;如果沒有找到這樣的上下文,則返回 null。
ThrowsNullPointerException:
zh_cn
如果 key 爲 null。
abstract public ELResolver getELResolver() Hide
zh_cn
獲取與此上下文關聯的 ELResolver
ELContext 維護對 ELResolver 的引用,在表達式求值期間將參考 ELResolver 來解析變量和屬性。此方法獲取對解析器的引用。
構建了 ELContext 之後,將無法更改對與上下文關聯的 ELResolver 的引用。
return
zh_cn
表達式求值期間解析變量和屬性時要參考的解析器。
abstract public FunctionMapper getFunctionMapper() Hide
zh_cn
獲取與此 ELContext 關聯的 FunctionMapper
return
zh_cn
解析 EL 函數時要參考的函數映射器。
public void setLocale(java.util.Locale locale)
zh_cn
設置此實例的 Locale。創建實例(如 JavaServer Faces
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章