在EL表达式中可以直接使用变量来引用EL内置对象或域对象。例如,${name},EL引擎会先判断“name”是否为EL内置对象的标识符,如果不是,则调用PageContext.findAttribute方法依次在page、request、session和application四个域中查找名为“name”的域对象,如果找到该对象,则输出它的值,否则输出空串(实际上是返回了null,但EL会使用空串代替null进行输出)。
从上面的描述可以看出,EL变量并不是预先对某个对象的引用,而只是对EL表达式的引用。在EL引擎翻译该变量表达式时,会根据该变量标识符是否为EL内置对象的标识来决定是按着EL内置对象处理,还是域对象来处理。