• 命令格式:_${作用域对象别名.共享数据}_;

      1. <!--EL表达式简化代码-->
      2. id:${applicationScope.id}
      3. <br>
      4. name:${sessionScope.name}
      5. <br>
      6. address:${requestScope.address}
    • 命令作用:

      • 1)EL表达式时EL工具包提供的一种特殊命令格式[表达式命令格式];
      • 2)EL表达式在JSP文件中使用;
      • 3)EL表达式负责从作用域对象中读取指定共享数据并输出到响应体;
    • EL表达式作用域对象别名:
      • JSP文件中可以使用的作用域对象:
        • 1)SerlvetContext application:全局作用域对象;
        • 2)HttpSession session:会话作用域对象;
        • 3)_HttpServletRequest request_:请求作用域对象;
        • 4)PageContext pageContext:当前页作用域对象,这是JSP文件独有的作用域对象,Servlet中不存在此对象;在当前页作用域对象中存放的共享数据,仅能在当前JSP文件中使用,不能共享给其他Servlet或者JSP文件(真实开发过程中,主要用于JSTL标签与JSP文件之间的数据共享);
    • EL表达式向响应体中输出引用对象内容: ```jsx <%@ page contentType=”text/html;charset=UTF-8” language=”java” %>

    sNo:${requestScope.student.sNo} sName:${requestScope.student.sName} sex:${requestScope.student.sex} age:${requestScope.student.age}

    1. - EL表达式无法遍历集合等内容;
    2. - EL表达式简化版:
    3. - 命令格式:`_${共享数据名}_`;
    4. - 命令作用:允许开发人员省略作用域对象;
    5. - 隐患:容易降低程序执行效率,没有指定作用域对象,程序运行时会从pageContextapplication对象中一个一个找,也容易发生数据定位错误;
    6. - 应用场景:设计目的就是简化从pageContext中读取共享数据并输出的难度;
    7. - EL表达式支持运算:
    8. - JSP文件中,有时需要将读取的共享数据进行运算后再写入到响应体中;
    9. - 运算表达式:
    10. - 1)数学运算符:`_+_`,_`-`_,_`*`_,_`/`_,_`%`_;
    11. - 2)关系运算符:_`>`_,_`<`_,_`==`_,_`>=`_,_`<=`_,_`!=`_;
    12. - 3)逻辑运算符:_`&&`_,_`||`_,_`!`_;
    13. - EL表达式提供的内置对象:
    14. - 命令格式:`_${param.请求参数名}_`;
    15. - 作用:通过请求参数名读取当前请求包中请求参数内容,并将请求参数内容写入到响应体中;
    16. ```jsx
    17. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    18. <!--
    19. 访问Http://localhost:8080/023web/index2.jsp?userName=zhangsan&password=123
    20. -->
    21. userName:${param.userName}<br>
    22. password:${param.password}
    • 命令格式:_${paramValues.请求参数名[下标]}_;
    • 作用:如果浏览器发送的请求中,某个请求参数有多个值,可以读取该请求参数指定位置的值并写入到响应体中;
      1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      2. <!--
      3. 访问Http://localhost:8080/023web/index3.jsp?pageNo=3&pageNo=4&pageNo=5
      4. -->
      5. pageNo:${paramValues.pageNo[0]} <!--pageNo:3-->
      6. <br>
      7. pageNo:${paramValues.pageNo[1]} <!--pageNo:4-->
      8. <br>
      9. pageNo:${paramValues.pageNo[2]} <!--pageNo:5-->