OGNL的变量方案很简单, 你可以用变量来保存中间结果, 并在后面的代码中再次访问它, 也可以用变量来使整个表达式更加简单易懂.
OGNL中的所有变量, 对整个表达式都是全局可见的.
引用变量的方法是在变量名之前加上#号, 如下:(这两点非常有自己的特点)
#var
OGNL在计算表达式的过程中, 随时会将当前对象保存在 "this"变量中, 这个变量也可以象其他任何变量一样引用. 比如, 下面的表达式会计算listeners中的元素总数, 如果总数超过100, 则返回总数的2倍, 否则返回总数+20.
listeners.size().(#this > 100? 2*#this : 20+#this)
OGNL被调用时, 可以通过一个Map来为变量预定义初始值. 调用OGNL的标准方式需要预定义root变量 (其中存放初始对象, 或称为根对象), 以及context变量(其中存放变量Map自身).(???)
要明确地为一个变量赋值, 只需要写一个简单的赋值语句, 将变量引用放在等号左侧:
#var = 99