# EL表达式
在之前我们使用 输出数据,前提是要通过 request.getAttribute() 获取到对象再输出,比较麻烦。
在 EL 表达式中,我们可以直接根据名称输出对象,使用`${“在scope中setAttribute的name”}`;
如果是对象类型的,可以直接使用.操作符访问对象的属性,但前提是在 JavaBean 中定义 getter,因为标准的 JavaBean 是封装了属性的(private),在EL表达式中是通过调用对象的Getter获取值的;
如果没有显式的指定获取值的 Scope,则 EL 会按照从 page-request-session-appliction 的方式去寻找 name 的值。
在开发过程中,一般不指定scope,这就要求程序在给scope setAttribute的时候定义一定的规则,不要重复了。
**示例:**
* ${pageScope.msg}
* ${requestScope.msg}
* ${sessionScope.msg}
* ${applicationScope.msg}
* ${msg} ${[stu.name](http://stu.name/)}
* 集合类型 ${stu\[0\].name}
* 请求参数通过 ${[param.us](http://param.us/)}
* 使用`${stu.name == '李四#' ? '1' : '2'}`进行简单的三元表达式输出