当前位置: 移动技术网 > IT编程>开发语言>JavaScript >              EL表达式

             EL表达式

2020年07月24日  | 移动技术网IT编程  | 我要评论
一。zEL表达式 1.命令格式:${作用域对象别名.共享数据} 2.命令作用: 1)EL表达式是EL工具包提供一种特殊命令格式【表达式命令格式】 2)EL表达式在JSP文件上使用 3)负责在JSP文件上从作用域对象读取指定的共享数据并输出到响应体二。EL表达式——作用域对象别名 1.JSP文件可以使用的作用域对象 1) Serv...

                             

一。EL表达式

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

     2.命令作用:
          1)EL表达式是EL工具包提供一种特殊命令格式【表达式命令格式】
          2)EL表达式在JSP文件上使用
          3)负责在JSP文件上从作用域对象读取指定的共享数据并输出到响应体

二。EL表达式——作用域对象别名

     1.JSP文件可以使用的作用域对象

         1) ServletContext     application:      全局作用域对象

         2) HttpSession              session:       会话作用域对象

         3) HttpServletRequest   request:      请求作用域对象

         4) PageContext     pageContext:    当前页作用域对象,

             这是JSP文件独有的作用域对象。Servlet中不存在在当前页作用域对象存放的共享数据仅能在当前JSP文件中使用,不能
      共享给其他Servlet或则其他JSP文件
            真实开发过程,主要用于JSTL标签与JSP文件之间数据共享

            数据:    JSTL------->pageContext---->JSP


    2.EL表达式提供作用域对象别名
    
              JSP                       EL表达式

          application               ${applicationScope.共享数据名}

          session                   ${sessionScope.共享数据名}

          request                   ${requestScope.共享数据名}

          pageContext           ${pageScope.共享数据名}

三。EL表达式将引用对象属性写入到响应体

     1.命令格式: ${作用域对象别名.共享数据名.属性名}

     2.命令作用: 从作用域对象读取指定共享数据关联的引用对象的属性值。
                  并自动将属性的结果写入到响应体

     3.属性名: 一定要去引用类型属性名完全一致(大小写)

     4.EL表达式没有提供遍历集合方法,因此无法从作用域对象读取集合内容输出

四。EL表达式简化版

     1.命令格式: ${共享数据名}

     2.命令作用: EL表达式允许开发人员开发时省略作用域对象别名

     3.工作原理:
                  EL表达式简化版由于没有指定作用域对象,所以在执行时采用【猜】算法

          首先到【pageContext】定位共享数据,如果存在直接读取输出并结束执行
          如果在【pageContext】没有定位成功,到【request】定位共享数据,如果存在直接读取输出并结束执行
          如果在【request】没有定位成功,到【session】定位共享数据,如果存在直接读取输出并结束执行
          如果在【session】没有定位成功,到【application】定位共享数据,如果存在直接读取输出并结束执行
          如果在【application】没有定位成功,返回null

          pageContext--->request--->session--->application

     4.存在隐患:

                  容易降低程序执行速度,容易导致数据定位错误

     5.应用场景:
                   设计目的,就是简化从pageContext读取共享数据并输出难度

     6.EL表达式简化版尽管存在很多隐患,但是在实际开发过程中,开发人员为了节省时间,一般都使用
       简化版,拒绝使用标准版


五。EL表达式-----支持运算表达式

     1.前提:  在JSP文件有时需要将读取共享数据进行一番运算之后,将运算结果写入到响应体

     2.运算表达式:
      
                  1) 数学运算

          2) 关系运算:  >    >=   ==    <   <=  !=

                        gt   ge    eq   lt  le   !=

                  3)逻辑运算:  &&   ||    !


六。EL表达式提供内置对象    

      1.命令格式: ${param.请求参数名}

      2.命令作用: 通过请求对象读取当前请求包中请求参数内容
                   并将请求参数内容写入到响应体

      3.代替命令:  index.jsp
                   发送请求:  Http://localhost:8080/myWeb/index.jsp?userName=mike&password=123

           <%
                 String userName =   request.getParameter("userName");
                 String password =   request.getParameter("password");
           %>
           <%=userName%>
           <%=password%>

      1.命令格式:${paramValues.请求参数名[下标]}

      2.命令作用: 如果浏览器发送的请求参数是[一个请求参数关联多个值]
                  此时可以通过paramVaues读取请求参数下指定位置的值
          并写入到响应体

      3.代替命令: http://localhost:8080/myWeb/index.jsp?pageNo=1&pageNo=2&pageNo=3
                  此时pageNo请求参数在请求包以数组形式存在
          pageNo:[1,2,3]

          <%
              String  array[ ]= request.getParameterValues("pageNo");
          %>
          第一个值:<%=array[0]%>
          第二个值:<%=array[1]%>

七。EL表达式常见异常:
                 
         javax.el.PropertyNotFoundException:在对象中没有找到指定属性

本文地址:https://blog.csdn.net/qq_39390455/article/details/107531772

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网