ValueExpression

public abstract class javax.el
ValueExpression



Show All Login
Java EE 5 SDK
  

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 boolean isReadOnly(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 void setValue(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 Object getValue(ELContext context) Hide
zh_cn
相對於提供的上下文對表達式求值,並返回所得值。
所得值會自動強制匹配爲創建此表達式時提供給 ExpressionFactorygetExpectedType() 所返回的類型。
context
zh_cn
此計算的上下文。
return
zh_cn
表達式求值的結果。
ThrowsNullPointerException:
zh_cn
如果 context 爲 null
ThrowsPropertyNotFoundException:
zh_cn
如果由於指定變量或屬性不存在或不可讀導致某個屬性解析操作失敗。
ThrowsELException:
zh_cn
如果執行屬性或變量解析時拋出異常。拋出的異常必須作爲此異常的 cause 屬性包含(如果可用)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章