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