As stated before, some values that are gettable are not also settable because of the nature of the expression. For example,
names[0].location
is a settable expression - the final component of the expression resolves to a settable property.
However, some expressions, such as
names[0].length + 1
are not settable because they do not resolve to a settable property in an object. It is simply a computed value. If you try to evaluate this expression using any of the Ognl.setValue()
methods it will fail with
an InappropriateExpressionException
.
It is also possible to set variables using get expressions that include the '=
' operator. This is useful when a get expression needs to set a variable as a side effect of execution.