public abstract class javax.el
ValueExpression

ArabicChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishFinnishFrenchGermanHebrewHindiHungarianIcelandicIndonesianItalianJapaneseKoreanMalayMarathiNorwegianPersianPolishPortuguesePortuguese (Brazil)Portuguese (Portugal)RussianSpanishSwedishThaiTurkishUkrainianReadPrint

Show All Login
Java EE 5 SDK
  rss.gif

Extends: Expression
Hide
zh_cn
可以获取或设置值的 Expression
此 API 以前的代号,只能读取表达式。 ValueExpression 对象现在可以用于获取值和设置值。可以设置值的表达式称为 l-value 表达式。不能设置值的表达式称为 r-value 表达式。并非所有 r-value 表达式都可以用作 l-value 表达式(例如, "${1+1}""${firstName} ${lastName}")。有关详细信息,请参阅 EL 规范。对不能用作 l-value 的表达式调用 isReadOnly() 必须总是返回 true
可以使用 ExpressionFactory#createValueExpression 方法解析表达式字符串,并返回封装已解析表达式的 ValueExpression 的具体实例。解析时(而不是计算时)使用 FunctionMapper,所以在计算表达式时不需要它。但是,计算时需要 ELContext
每次调用 #getValue#setValue#isReadOnly#getType 方法时将对表达式求值。使用 ELContext 中的 ELResolver 解析顶级变量,并确定 .[] 操作符的行为。对于这 4 个方法中的任何一个,使用 ELResolver#getValue 方法解析除最后一个属性以外的所有属性。这提供 base 对象。最后解析时, ValueExpression 将调用相应的 ELResolver#getValueELResolver#setValueELResolver#isReadOnlyELResolver#getType 方法,具体情况取决于在 ValueExpression 上调用哪个方法。
请参阅 Expression javadoc 中有关比较、序列化和不可变性的注释。
sinceJSP 2.1
See also javax.el.ELResolver, javax.el.Expression, javax.el.ExpressionFactory

Constructors
public ValueExpression()

Properties
abstract public Class<T>getExpectedType() Hide
zh_cn
返回求值之后将表达式结果强制匹配的类型。
return
zh_cn
传递给创建了此 ValueExpressionExpressionFactory.createValueExpression 方法的 expectedType
abstract public booleanisReadOnly(ELContext context) Hide
zh_cn
相对于提供的上下文对表达式求值,如果调用 #setValue 总是失败,则返回 true
context
zh_cn
此计算的上下文。
return
zh_cn
如果表达式是只读的,则返回 true;否则返回 false
ThrowsNullPointerException:
zh_cn
如果 context 为 null
ThrowsPropertyNotFoundException:
zh_cn
如果由于指定变量或属性不存在或不可读导致某个属性解析操作失败。
ThrowsELException:
zh_cn
如果执行属性或变量解析时抛出异常。抛出的异常必须作为此异常的 cause 属性包含(如果可用)。 * @throws NullPointerException 如果 context 为 null
abstract public Class<T>getType(ELContext context) Hide
zh_cn
相对于提供的上下文对表达式求值,并返回最一般的类型,该类型对于将来调用 #setValue 方法时作为 value 参数传递的对象而言是可接受的。
这并非总是与 getValue().getClass() 相同。例如,如果是引用数组元素的表达式,则 getType 方法将返回数组元素的类型,这可能是当前位于指定的数组元素中实际元素类型的超类。
context
zh_cn
此计算的上下文。
return
zh_cn
最一般可接受的类型;其他情况未定义。
ThrowsNullPointerException:
zh_cn
如果 context 为 null
ThrowsPropertyNotFoundException:
zh_cn
如果由于指定变量或属性不存在或不可读导致某个属性解析操作失败。
ThrowsELException:
zh_cn
如果执行属性或变量解析时抛出异常。抛出的异常必须作为此异常的 cause 属性包含(如果可用)。
abstract public voidsetValue(ELContext context, Object value) Hide
zh_cn
相对于提供的上下文对表达式求值,并将结果设置为提供的值。
context
zh_cn
此计算的上下文。
value
zh_cn
要设置的新值。
ThrowsNullPointerException:
zh_cn
如果 context 为 null
ThrowsPropertyNotFoundException:
zh_cn
如果由于指定变量或属性不存在或不可读导致某个属性解析操作失败。
ThrowsPropertyNotWritableException:
zh_cn
如果由于指定的变量或属性不可写导致最终变量或属性解析失败。
ThrowsELException:
zh_cn
如果尝试设置属性或变量时抛出异常。抛出的异常必须作为此异常的 cause 属性包含(如果可用)。
abstract public ObjectgetValue(ELContext context) Hide
zh_cn
相对于提供的上下文对表达式求值,并返回所得值。
所得值会自动强制匹配为创建此表达式时提供给 ExpressionFactorygetExpectedType() 所返回的类型。
context
zh_cn
此计算的上下文。
return
zh_cn
表达式求值的结果。
ThrowsNullPointerException:
zh_cn
如果 context 为 null
ThrowsPropertyNotFoundException:
zh_cn
如果由于指定变量或属性不存在或不可读导致某个属性解析操作失败。
ThrowsELException:
zh_cn
如果执行属性或变量解析时抛出异常。抛出的异常必须作为此异常的 cause 属性包含(如果可用)。