用来替代jsp表达式脚本,进行数据的输出,大幅节省篇幅
    <%=request.getAttritube(key)%> 不存在就会输出null,很危险的一点
    ${key} EL表达式 不存在就会不显示

    搜索数据域数据顺序
    主要输出域对象中的数据
    但我们有四个域对象,这时候应该怎么输出?

    四大域对象
    pageContext 当前jsp页面范围内有效
    request 一次请求内有效
    session 一次会话内有效,打开到关闭游览器
    application 整个web工程内有效

    虽然四个域对象可以保存数据,但四个域的使用顺序为从小到大的范围的顺序
    pageContext,request,session,application

    减轻内存的压力
    EL表达式输出顺序由范围从小到大

    输出javaBean时如何输出?
    有map,list等等在bean里面
    放入数据域内
    ${persion} 输出整个persion对象
    输出具体属性
    ${p.name} 输出单独的属性
    ${p.list[i]}
    ${p.map.key}

    它是通过getSetter方法进行查找的,是通过java反射进行的

    EL表达式运算
    关系运算
    ${5==5} true
    ${5!=5} false
    ${3<5} true
    ${2>10} false
    ${5<=12}true
    ${3>=5} false
    ${12==12&&12<11} false
    ${12==12||12<11} true
    ${!true} false
    ${!false} true
    ${12/11} 1.01
    ${12+12} 24
    ${12-12} 0
    ${12/12} 1.0
    ${18%12} 6

    empty运算盘算数据是否为空,为空输出true,不为空输出false值为null
    值为空串""
    值为Object但元素个数为0
    list集合元素个数为0
    map集合元素个数为0

    记住从数据域里拿出
    ${empty key}
    如果key中有违禁字符如+-*/之类的怎么办?(我们不推荐这样使用)
    ${map['a.a.a'--->(key)]} a.a.a就是key

    EL表达式中11个隐含对象
    EL表达式自己定义的 除了第一个都是map
    pageContext 获取jsp中九大内置对象,获取对象本身而不是域数据 输出:ip,协议,端口,工程路径,请求方法,等等基本数据,存储域request内容下

    pageScope 获取pageContext域中数据 pageScope.key确定具体的域
    requestScope 获取request域中数据
    sessionScope
    applicationScope 获取响应域中的数据
    param 获取请求参数的值
    paramValues 获取请求参数的值,获取多个值时候使用
    header 获取请求头的信息
    headerValues 多个值进行使用
    cookie 获取cookie信息
    initParam 获取web.xml中的上下文参数